Asp .NET 身份 Cookie 身份验证

Asp .NET Identity Cookie Authentication

我正在使用 MVC 5 默认模板,并选择 "Individual Accounts" 进行身份验证。它使用 ASP .NET Identity 和 Entity Framework.

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

这是正确的行为吗?
如果不是,那么有什么预防建议吗?

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

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