这节我们主要介绍在ASP.NET Core Identity中如何锁定用户,Lockout功能为改善应用程序安全提供保障,当用户多次输入错误密码之后,用户账号就会被锁定,这个技术在防止黑客暴力攻击方面是非常有用的,特别是反复尝试猜测密码

-
LockoutEnabled列指用户是否启用lockout功能 -
AccessFailedCount列记录用户登录失败的次数并且在账户锁定后重置为0 -
LockoutEnd列是一个DateTime 的类型,表示用户结束锁定的时间我们通过下图来展示一下:

2、在登录页面实现用户的Lockout功能
如果登录次数大于两次,我们将收到错误信息(你的账户已经被锁定,请等待10分钟后再次尝试),如下图所示:
检查一下AccessFailedCount列,我们发现AccessFailedCount列值为0,并且LockoutEnd列被设置锁定时间的结束值,如下图所示:
事实上,我们可以进一步通知用户锁定的账号,请他重置密码或向用户发送通知报告,如果他们没有登录,这意味着有人试图破账号
总结
在这节中我们主要涉及到图如下内容,如何在ASP.NET Core Identity 中创建Lockout 功能,如何实现用户的Lockout功能
源代码地址:
https://github.com/bingbing-gui/Asp.Net-Core-Skill/tree/master/AspNetCore.Identity/Identity