2017-09-18 154 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首选项开始吧。