2017-09-18 153 views
3

我有驗證登錄表單(帶有「記住我」選項)的代碼,並且如果有效,則認證用戶。然後我設置表單身份驗證cookie和重定向。Firefox不允許我使用FormsAuthentication設置持久性cookie

驗證Cookie設置如下,如果用戶選擇「記住我」,persistent參數爲true

FormsAuthentication.SetAuthCookie(response.UserObject.UserName, persistent); 
Response.Redirect(url); 

我們已經在各種瀏覽器中測試過了,一般都很好。但是,在Firefox中,.ASPXFORMSAUTH Cookie始終是一個會話cookie,當瀏覽器關閉時即使到期,即使上述persistent參數爲true

我測試的Firefox版本是55.0.3(32位)。這是一個已知的錯誤?或者還有其他一些原因,Firefox可能不會讓我設置一個持久cookie?難道它不再接受持久性cookies作爲302重定向響應的一部分嗎?

+1

這有幫助嗎? https://support.mozilla.org/zh-CN/questions/1046134 –

+0

這個鏈接沒有包含精確的解決方案,但它確實指向了正確的方向。謝謝。 – getsetcode

回答

4

感謝來自@ gabriel-luci的指針,我找到了解決方案。在Firefox首選項(about:preferences#privacy)中,我的瀏覽器被設置爲使用自定義歷史記錄設置,並被配置爲僅在Firefox關閉之前保留Cookie。我不記得自己改變這一點,但與同事的支票表明,默認情況下是保持cookie直到它們過期。所以如果你遇到了同樣的問題,那麼從Firefox首選項開始吧。