我正在尝试使用 Asp.Net表单身份验证在我的项目的登录中记住我的功能。问题是一旦用户登录,即使浏览器关闭并重新打开,他仍然保持登录状态。似乎Auth cookie始终是持久的,无论用户是否已经检查过记住我的选项。我不知道我想做什么?谁能指导我?
我猜通常这行代码足以实现我想要的目标:
FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe);
答案 0 :(得分:0)
这可以通过Web.config
中的timeout
属性来控制
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
答案 1 :(得分:0)
如果你在Web.config中添加身份验证模式会很有帮助,如@Matt所示。无论如何,如果您观察通过记住我拨打的cookie,并且&amp;你会注意到以下几点: -
记住我✕:Auth Cookie Expires
属性:Session
(会话cookie)
记住我✓:验证Cookie Expires
属性:{ UTC Time }
(持久性Cookie)
会话Cookie 就会持续。因此,只有在您关闭浏览器窗口(不是标签)而不是持久性Cookie 之后才会处理Cookie。
您可以了解更多有关cookies&amp; amp;的概念浏览器行为如下: -