ASP.NET CORE 用户登录失败达到一定次数如何锁住账户
.net core3.1
第一步:在登录的方法
var result = await _signInManager.PasswordSignInAsync(user, viewModel.Password, viewModel.Rememberme, true);//最后一个参数改为 True
PasswordSignInAsync方法的最后一个参数改为 true 用于启用账户锁定
每次登陆失败 AspNetUsers表的AccessFailedCount列数值就会加一,当他等于5的时候就会锁定账户LockoutEnd列也会加上解锁时间
第二步:在 Startup 文件中
services.Configure<IdentityOptions>(option =>
加上
option.Lockout.MaxFailedAccessAttempts = 5;//锁定账户前允许的失败次数为5次
option.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5); //锁定账户时间为 5 分钟
需要注意的是,如果当前用户被锁住重置密码时,则其锁定时间设置为当前的格林威治时间P471