Ted*_*sen 7 asp.net-identity-3 asp.net-core
ASP.Net Core具有处理用户身份验证的SignInManager.其中一种方法是PasswordSignInAsync(string username, string password, bool isPersistent, bool lockoutOnFailure).将lockoutOnFailure设置为true应该在一定次数的登录尝试失败后暂时锁定用户.
查看数据库中的AspNetUsers表,我看到以下内容:
看起来预期的功能是允许5次登录尝试,然后将帐户锁定5分钟.
所以我的问题是:
tmg*_*tmg 11
- 如何设置允许的失败登录次数?
- 如何设置锁定期?
默认项目模板使用扩展方法配置身份服务AddIdentity<TUser, TRole>(在Startup类ConfigureServices方法中).您可以配置此方法的重载IdentityOptions.
代替
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)
您可以使用
var lockoutOptions = new LockoutOptions()
{
AllowedForNewUsers = true,
DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5),
MaxFailedAccessAttempts = 5
};
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.Lockout = lockoutOptions;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)
以上是无用的,因为这些是默认值LockoutOptions,但您可以根据需要更改它们.
| 归档时间: |
|
| 查看次数: |
3521 次 |
| 最近记录: |