锁定的用户如果拥有Auth Cookie,则可以登录

时间:2014-06-19 16:58:28

标签: asp.net-mvc asp.net-identity

.Net 4.5.1 / MVC 5.1.2 / Identity 2.0.1

问候,

我需要管理员禁用(无法删除)用户帐户的方法,因此我将LockoutEndDateUTC字段设置为将来的日期,并且我已将LockoutEnabled字段设置为true,以供所有用户使用。还有另一个SO线程here,它讨论了相同的方法。这显然有效,但前提是用户必须输入用户名/密码。

这就是问题所在......如果用户使用"记住我"设置了身份验证cookie。在被禁用之前的功能,没有检查锁定并且所有后续访问都经过身份验证并且"锁定"最终被忽视了。

首先,我认为这是Identity中的一个错误,我已经在codeplex上记录了一个问题。

第二,是否有更好的方法可以在2.0版中禁用用户?

谢谢!

1 个答案:

答案 0 :(得分:7)

锁定的用户无法登录,但实际上被锁定并不会拒绝现有的Cookie,否则恶意用户可能会导致真实用户的cookie被拒绝。当然,如果您确实需要这种行为,只需在登录操作中锁定的用户上调用UpdateSecurityStamp,这将在下次对数据库进行验证时拒绝现有的cookie。