關閉瀏覽器後,cookie需要保留的確切步驟是什麼?目前,我有:瀏覽器關閉後驗證/會話cookie刪除
createPersistentCookie
設置爲true
上LoggedIn
事件。- 指定的MachineKey。
- 表單滑動到期設置爲
true
。
只要瀏覽器處於打開狀態,用戶就會保持登錄狀態,但只要關閉了,並且多久都無關緊要,用戶需要重新登錄。我錯過了什麼?
編輯: 我所經歷的文章所指出的marapet(見下面的評論),它讓我感興趣的票是否確實有IsPersistent標誌,它的作用。解密票看起來像這樣: System.Web.Security.FormsAuthentication.Decrypt(Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName].Value) {System.Web.Security.FormsAuthenticationTicket} CookiePath: "/" Expiration: {19/08/2010 17:27:14} Expired: false IsPersistent: true IssueDate: {19/07/2010 17:27:14} Name: "alex" UserData: "" Version: 2
所有的細節都是正確的,並對應於我在LoggedIn事件中設置的那些。我可以直接從cookie中檢索更多的cookie值,與此相同。然而,一旦我關閉瀏覽器,cookie就會丟失。
但是,我注意到,但是,攜帶該票的cookie由於某種原因而重置了日期。首先,我無法覆蓋web.config中的設置,因此在LoggedIn事件結束時,Expires屬性在發佈日期後爲4000分鐘,而不是以編程方式設置的月份。然後在頁面加載後,我使用FormsAuthentication.FormsCookieName檢索到的cookie具有01/01/0001的Expires屬性。我想也許這是問題所在?任何想法將不勝感激。
編輯#2: 我改變這兩個標題和標籤,包括會議,因爲它原來是相關的問題/解決方案
這也解決了我的問題。如果您離開域,則客戶端瀏覽器將其默認爲當前域。 – jhappoldt 2011-01-05 21:21:42