How to disable account if user login fails continuously in Asp.Net Core identity

1.2k views Asked by At

Currently, I'm using Asp.net core 1.1, EF core & Asp.net core Identity in my system. I have a configure below in startup.cs class for the password policy.

Is there a configure to disable account when a user continuously login fails?

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

There are 2 answers

0
Ghulam Mohayudin On BEST ANSWER

You can simply do it like this

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

For more details see this link

0
Afnan Makhdoom On

In your account controller, scroll down to public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)

Once there, set shouldLockout to true

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