FormsAuthentication.SignOut не работает на Firefox 3 (asp.net)
Я использую этот код на странице входа. Это нормально работает.
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");
Но когда я выхожу из системы с помощью FormsAuthentication.SignOut или asp:LoginStatus, это не выход из системы. это, кажется, вошел в систему. Когда я тестирую в Internet Explorer 8, это успешно выйти из системы.
Что происходит с Firefox? Как я могу решить эту проблему?
Спасибо
ebattulga
1 ответ
Проблема с FireFox и FormsAuthentication заключается в том, что FireFox, похоже, не удаляет cookie-файл авторизации в SignOut. 3 вещи, которые вы можете попробовать:
1) После вызова метода SignOut очистите куки, как это => Response.cookies.clear()
2) Попробуйте позвонить Session.abandon
до вашего звонка SignOut
3) Вы также можете попробовать следующее: Response.Expires = 0, Response.Cache.SetNoStore(), Response.AppendHeader("Pragma", "no-cache")
Надеюсь, что те помогают!