如果用户登录在Asp.Net Core标识中连续失败,如何禁用帐户

时间:2017-08-30 08:02:42

标签: c# asp.net-core asp.net-identity entity-framework-core asp.net-core-identity

目前,我正在使用Asp.net核心1.1,EF核心& Asp.net核心身份在我的系统中。 我在startup.cs类中有一个配置密码策略。

当用户连续登录失败时是否有配置禁用帐户?

services.Configure<IdentityOptions>(options =>
{
    // Password settings
    options.Password.RequireDigit = true;
    options.Password.RequiredLength = 6;
    options.Password.RequireNonAlphanumeric = true;
    options.Password.RequireUppercase = true;
    options.Password.RequireLowercase = true;
}

2 个答案:

答案 0 :(得分:6)

你可以像这样做

options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = true;

有关详细信息,请参阅this link

答案 1 :(得分:2)

在您的帐户控制器中,向下滚动到public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)

在那里,将shouldLockout设置为true

var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: true);