ASP.NET窗体身份验证身份验证cookie始终是持久性的

问题描述:

我正在尝试使用Asp.Net窗体身份验证在我的项目的登录中实现记住我的功能。问题出在用户登录后,即使浏览器关闭并重新打开,他仍然保持登录状态。看起来,无论用户是否检查过记住我的选项,Auth cookie始终都是持久性的。我不知道我应该怎么做?任何人都可以引导我通过?ASP.NET窗体身份验证身份验证cookie始终是持久性的

我想通常这行代码就足以达到我想要什么:

FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe); 

这可能是由timeout属性在Web.config控制

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 
+0

对不起它没有工作,但感谢你的答案。 –

这将是如@Matt所示,在Web.config中添加身份验证模式会很有帮助。无论如何,如果你观察与发布的饼干记住上&关切换,你会注意到以下几点: -

记住✕:验证Cookie的属性ExpiresSession (会话cookie)

记住我✓:验证cookie的Expires属性:{ UTC Time }(永久cookie)

会话cookie会,只要在浏览器保持活动状态持续。因此,只有在关闭浏览器窗口(而不是标签)而不是持久性cookie后才会处理cookie。

您可以了解更多关于cookie的概念之下&浏览器行为是: -

Why Doesn't Closing A Tab Delete A Session Cookie?

HTTP Cookie Wikipedia

+0

对不起,它没有工作,实际上我尝试使用身份验证票与自定义设置以及但没有运气。谢谢 –