如何在 ASP.NET 身份中保持用户的解锁状态更新?



我有一个 ASP.NET 的MVC应用程序,并使用 ASP.NET 身份来管理用户(锁定/解锁状态(。

当我查询数据库中的用户时,我想显示用户的锁定/解锁状态已更新。我怎样才能做到这一点?

考虑以下场景:John Doe 正在尝试登录,但在 3 次错误密码尝试后被锁定;他的LockoutEndDate列设置为3 小时后

同时,系统管理员查询用户,他希望看到锁定的用户,正如预期的那样,John Doe在该列表中。

John Doe 在 5 小时内没有返回系统,但必须显示为解锁用户,因为锁定时间为 3 小时。

我正在考虑的解决方案是在SQL Server代理中执行脚本作业以保持锁定/解锁状态更新。我正在寻找更好的方法。

用户已被 WrongPasswordTrysReach 锁定或由管理员手动锁定,我们希望在报告中区分这种情况。

为什么你甚至需要"保持解锁状态"是最新的??只需根据以下LockoutEndDate做出决定:

  • 如果LockoutEndDate为 NULL --> 从未设置过锁定,则用户处于活动状态
  • 如果LockoutEndDate已设置且尚未过期(now(( <=LockoutEndDate( -->用户被锁定
  • 如果设置了LockoutEndDate,但它已过期(now((>LockoutEndDate( -->用户再次处于活动状态

不需要任何标志并使用 SQL Server 代理作业更新这些标志.....

相关内容

  • 没有找到相关文章

最新更新