FormsAuthentication.SignOut не работает в Firefox 3 (asp.net)
-
10-07-2019 - |
Вопрос
Я использую этот код на странице входа.Это нормально работает.
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 и 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")
Надеюсь, они помогут!