FormsAuthentication.SignOut no funciona en firefox 3 (asp.net)
-
10-07-2019 - |
Pregunta
Estoy usando este código en la página de inicio de sesión. Esto funciona bien.
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // Ticket version
eUserName.Text,
DateTime.Now,
DateTime.Now.AddMinutes(30),
true,
"administrator",
FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
hash);
// Set the cookie's expiration time to the tickets expiration time
if (ticket.IsPersistent) cookie.Expires = ticket.Expiration;
// Add the cookie to the list for outgoing response
Response.Cookies.Add(cookie);
Response.Redirect("Default.aspx");
Pero cuando cierro sesión usando FormsAuthentication.SignOut o asp: LoginStatus control esto no es cerrar sesión. Esto parece haber iniciado sesión. Cuando pruebo en Internet Explorer 8, esto cierra sesión correctamente.
¿Qué sucede en Firefox? ¿Cómo puedo solucionar este problema?
Gracias
ebattulga
Solución
El problema con FireFox y FormsAuthentication es que FireFox no parece eliminar la cookie de autenticación en SignOut. 3 cosas que puedes probar:
1) Después de llamar al método SignOut, borre las cookies como esta = > Response.cookies.clear ()
2) Intente llamar a Session.abandon
antes de su llamada de SignOut
3) También puede intentar lo siguiente: Response.Expires = 0, Response.Cache.SetNoStore (), Response.AppendHeader (" Pragma " ;, " no-cache ")
¡Espero que esa ayuda!