Pergunta

Eu estou usando esse código em página de login. Este é um trabalho muito bem.

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

Mas quando eu sair usando FormsAuthentication.SignOut ou asp: LoginStatus controlar Isto não é fazer o logout. isso parece conectado. Quando eu testar no Internet Explorer 8, este sucesso de logout.

O que happing no firefox? Como posso fazer corrigir esse problema?

Graças

ebattulga

Foi útil?

Solução

O problema com o Firefox e FormsAuthentication é que FireFox doens't parecem excluir o cookie de autenticação on SignOut. 3 coisas que você pode tentar:

1) Depois de chamar o método SignOut, limpar os cookies como este => Response.cookies.clear()
2) Tente Session.abandon chamando antes de seu SignOut chamada
3) Você também pode tentar o seguinte: Response.Expires = 0, Response.Cache.SetNoStore(), Response.AppendHeader("Pragma", "no-cache")

Hope aqueles ajuda!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top