Firefox 不允许我使用 FormsAuthentication 设置持久性 cookie
Firefox isn't allowing me to set a persistent cookie with FormsAuthentication
我有验证登录表单的代码(带有 "remember me" 的选项),如果有效,则对用户进行身份验证。然后我设置表单身份验证 cookie 并重定向。
授权 cookie 设置如下,如果用户选择了 "remember me",则 persistent
参数为 true
。
FormsAuthentication.SetAuthCookie(response.UserObject.UserName, persistent);
Response.Redirect(url);
我们已经在各种浏览器中对此进行了测试,通常一切正常。然而,在 Firefox 中,.ASPXFORMSAUTH
cookie 始终是一个会话 cookie,它会在浏览器关闭时过期,即使上面的 persistent
参数是 true
.
我正在测试的 Firefox 版本是 55.0.3(32 位)。这是一个已知的错误?还是有其他原因导致 Firefox 不允许我设置持久性 cookie?难道它不再接受持久性 cookie 作为 302 重定向响应的一部分?
感谢 @gabriel-luci 的指点,我找到了解决方案。在 Firefox 首选项 (about:preferences#privacy) 中,我的浏览器已设置为使用历史记录的自定义设置,并配置为仅在 Firefox 关闭之前保留 cookie。我不记得自己更改过这个,但与同事核实后发现默认设置是保留 cookie 直到它们过期。因此,如果您遇到同样的问题,请从 Firefox 首选项开始。
我有验证登录表单的代码(带有 "remember me" 的选项),如果有效,则对用户进行身份验证。然后我设置表单身份验证 cookie 并重定向。
授权 cookie 设置如下,如果用户选择了 "remember me",则 persistent
参数为 true
。
FormsAuthentication.SetAuthCookie(response.UserObject.UserName, persistent);
Response.Redirect(url);
我们已经在各种浏览器中对此进行了测试,通常一切正常。然而,在 Firefox 中,.ASPXFORMSAUTH
cookie 始终是一个会话 cookie,它会在浏览器关闭时过期,即使上面的 persistent
参数是 true
.
我正在测试的 Firefox 版本是 55.0.3(32 位)。这是一个已知的错误?还是有其他原因导致 Firefox 不允许我设置持久性 cookie?难道它不再接受持久性 cookie 作为 302 重定向响应的一部分?
感谢 @gabriel-luci 的指点,我找到了解决方案。在 Firefox 首选项 (about:preferences#privacy) 中,我的浏览器已设置为使用历史记录的自定义设置,并配置为仅在 Firefox 关闭之前保留 cookie。我不记得自己更改过这个,但与同事核实后发现默认设置是保留 cookie 直到它们过期。因此,如果您遇到同样的问题,请从 Firefox 首选项开始。