5
ASP.Net Core具有处理用户身份验证的SignInManager。其中一种方法是PasswordSignInAsync(string username, string password, bool isPersistent, bool lockoutOnFailure)
。将lockoutOnFailure设置为true应该在一定次数的登录失败尝试后临时锁定用户。ASP.Net Core SignInManager锁定失败
在数据库我看到以下综观AspNetUsers表:对于每个
- AccessFailedCount增加1失败访问,当它击中5它翻转到0。
- 一旦翻转至0 LockoutTimeEnd设置为未来5分钟。然而
- LockoutEnabled甚至侧翻后依然为0,并且用户可以继续尝试登录。
它看起来像预期的功能是允许5次登录尝试,然后锁定帐户5分钟。
所以我的问题是有:
- 如何设置允许登录失败次数?
- 如何设置锁定期限?
- 为什么不锁定触发器?
关于你的第三个bulltet,它适用于默认的项目模板,所以你必须分享一些代码,寻求帮助 – tmg
我发现了这个。无论“LockoutTimeEnd”如何,任何使用“LockoutEnabled = false”的用户都不会被锁定。只有当LockoutTimeEnd> DateTime.Now时,具有“LockoutEnabled = true”的用户才会被锁定。我已将所有用户设置为“LockoutEnabled = false”,有效地禁用了整个锁定机制。 –
你是如何设定的?在注册操作中创建用户时? – tmg