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

¿Fue útil?

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!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top