Nada, que no me acaba de salir, creo el ticket como persistente pero cada vez que cierro el navegador tengo que volver a autenticarme. Os pego parte del código que utilizo a ver si veis el error:
web.config
Código:
<authentication mode="Forms">
<forms name=".LOGIN" loginUrl="login.aspx" protection="All" timeout="60" />
</authentication>
login.aspx
Código:
...
' Creamos el ticket de autentificación de usuario.
FormsAuthentication.Initialize()
Dim fat As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, usuari, _
DateTime.Now, DateTime.Now.AddMinutes(CADUCIDAD_SESION), True, strRole, FormsAuthentication.FormsCookiePath)
Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)))
' Redireccionamos a la página solicitada.
Response.Redirect(FormsAuthentication.GetRedirectUrl(User, True))
...
global.asax
Código:
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
'Si el usuario está autentificado le asignamos su rol.
If Not (HttpContext.Current.User Is Nothing) Then
If HttpContext.Current.User.Identity.IsAuthenticated Then
If TypeOf HttpContext.Current.User.Identity Is FormsIdentity Then
Dim fi As FormsIdentity = CType(HttpContext.Current.User.Identity, FormsIdentity)
Dim fat As FormsAuthenticationTicket = fi.Ticket
Dim strRoles As String() = fat.UserData.Split(",")
HttpContext.Current.User = New GenericPrincipal(fi, strRoles)
End If
End If
End If
End Sub
Espero que alguno de vosotros vea el error. Muchas gracias y saludos!!