Frage

Ich verwende diesen Code in Login-Seite. Das ist gut funktionieren.

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");

Aber wenn ich logout mit FormsAuthentication.SignOut oder asp: Login steuert dies abzumelden nicht. Dies scheint angemeldet. Wenn ich auf dem Internet Explorer 8 zu testen, diese erfolgreich abzumelden.

Was auf dem firefox happing? Wie kann ich dieses Problem behebe?

Danke

ebattulga

War es hilfreich?

Lösung

Das Problem mit FireFox und FormsAuthentication ist, dass FireFox den Auth-Cookie auf SignOut zu löschen doens't scheinen. 3 Dinge, die Sie können versuchen:

1) Nach der SignOut Methode aufrufen, löschen Sie die Cookies wie dieser => Response.cookies.clear()
2) Versuchen Aufruf Session.abandon vor Ihrem Anruf SignOut
3) Sie können auch versuchen Sie folgendes: Response.Expires = 0, Response.Cache.SetNoStore(), Response.AppendHeader("Pragma", "no-cache")

hoffe, diese Hilfe!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top