【问题标题】:ASP.NET Form Authentication auth cookie is always persistentASP.NET 表单身份验证身份验证 cookie 始终是持久的
【发布时间】:2017-10-26 10:43:19
【问题描述】:

我正在尝试使用 Asp.Net Form Authentication 在我的项目登录中实现记住我的功能。问题是一旦用户登录,即使浏览器关闭并重新打开,他仍然保持登录状态。无论用户是否检查了记住我选项,Auth cookie 似乎总是持久的。我不知道我该怎么做?有人可以指导我完成吗??

我想通常这行代码足以实现我想要的:

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

【问题讨论】:

    标签: c# asp.net-mvc cookies remember-me form-authentication


    【解决方案1】:

    这可以由 Web.config 中的timeout 属性控制

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

    【讨论】:

    • 抱歉没用,不过感谢您的回答。
    【解决方案2】:

    如果您在 Web.config 中添加身份验证模式会很有帮助,如 @Matt 所示。无论如何,如果您观察到使用 记住我 发出的 cookie 打开和关闭,您会注意到以下内容:-

    记住我✕:Auth Cookie Expires 属性:Session (会话 cookie)

    记住我 ✓ : Auth cookie Expires 属性:{ UTC Time } (Persistent cookie)

    只要浏览器保持活动状态,

    会话 cookie 就会持续存在。因此,只有在您关闭浏览器窗口(不是选项卡) 后,cookie 才会被释放,而不是 persistent cookie

    您可以在下面了解更多关于 cookie 和浏览器行为的概念:-

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

    HTTP Cookie Wikipedia

    【讨论】:

    • 对不起,它不起作用,确实我也尝试过使用自定义设置的身份验证票,但没有运气。谢谢
    猜你喜欢
    • 2011-06-11
    • 2012-08-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多