【问题标题】:Asp .NET Identity Cookie AuthenticationAsp .NET 身份 Cookie 身份验证
【发布时间】:2015-06-10 09:07:53
【问题描述】:

我正在使用 MVC 5 默认模板,并选择了“个人帐户”进行身份验证。它使用 ASP .NET Identity 和 Entity Framework。

我使用 Chrome 打开了应用程序并注册了一个用户,然后使用该用户登录。我不小心删除了数据库。现在,当我在 Chrome 中再次打开该应用程序时,它仍然显示我已登录,因为 auth cookie 仍然存在于浏览器中。但是,登录的用户在数据库中不存在。

这是正确的行为吗?
如果不是,那么关于如何防止它的任何建议?

【问题讨论】:

    标签: authentication asp.net-identity


    【解决方案1】:

    这是正确的行为。只要 auth cookie 有效且未过期,您的应用就会假定用户已通过身份验证。

    当您禁用或(软)删除用户时,您应该调用 UserManager.UpdateSecurityStamp(string userId),这会导致 auth cookie 在下次检查时无效。

    【讨论】:

    • 想象一个用户登录并且他的帐户被管理员暂停或删除的场景。然后在下一次服务器调用时,用户应该被踢出,这不会发生。我不知道是否有一种干净的方法可以做到这一点。
    • 完美就是我想要的。谢谢马丁!
    猜你喜欢
    • 2020-03-09
    • 2018-01-27
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    相关资源
    最近更新 更多