昨晚我正在使用FormsAuthentication进行一个新项目,并正在自定义票证以包含安全令牌,因此如果用户在一个浏览器中注销,则会在所有浏览器中注销。在查看www.example.com Identity的最新版本时,它看起来已经内置了此功能。
我创建了一个新的测试MVC 5 Web应用程序,启用了个人帐户。注册和身份验证开箱即用。
然而,我注意到失败的登录尝试并没有增加AspNetUsers表中的登录失败计数字段。由于这不是递增的,我可以尝试任意次数的失败登录尝试,而不会锁定帐户。
如何在www.example.com Identity 2.0上启用“失败计数”和“锁定”功能?
4条答案
按热度按时间h4cxqtbf1#
CheckPassword
方法调用PasswordHasher.VerifyHashedPassword
方法来验证密码,但是当提供的密码与现有密码不匹配时,它不会更新访问失败计数。下面是一个支持锁定的authenticate方法的示例:
字符串
cgh8pdjw2#
还有一个PasswordSignInAsync,它接受一个“shouldLockout”参数。
字符串
myzjeezk3#
对于.NET Core 2.1,shouldLockout 现在命名为 *lockoutOnFailure *
因此,您的登录调用应该如下所示,以增加失败的登录尝试:
字符串
一旦用户成功登录,这也将重置失败的登录尝试。
ecfsfe2w4#
尝试登入失败后,应使用
字符串
此代码会增加失败计数