2009-08-03 69 views
0

我在登錄頁面使用此代碼。這很好。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

回答

3

與Firefox和FormsAuthentication的問題是,火狐好好嘗試一下似乎刪除SignOut的權威性的cookie。 3樣東西,你可以嘗試:

1)調用SignOut方法後,清除餅乾這樣=>Response.cookies.clear()
2)試試你的SignOut通話
3之前調用Session.abandon)您也可以嘗試以下方法:Response.Expires = 0, Response.Cache.SetNoStore(), Response.AppendHeader("Pragma", "no-cache")

希望那些幫助!

相關問題