FormsAuthentication.SignOut funktionieren nicht auf der Firefox 3 (asp.net)
-
10-07-2019 - |
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
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!