我使用ASP.NET Identity实现了Identity Server 4。我问过一个早先的问题,我将如何应用某些登录规则并收到一个答案,解释如何在Startup.cs
中添加一些选项。这是我添加到ConfigureServices
方法的内容:
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(15);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Password.RequiredLength = 9;
options.Password.RequireDigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireUppercase = true;
options.Password.RequireNonAlphanumeric = false;
options.SignIn.RequireConfirmedEmail = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
密码规则似乎有效,但锁定规则无效。有什么我需要启用的吗?
答案 0 :(得分:2)
不确定我是怎么错过这个的。锁定功能是PasswordSignInAsync
上SignInManager
方法中登录过程的一部分。我需要更改的代码行是Login
中AccountController
方法的一部分:
SignInManager.PasswordSignInAsync(
model.Email,
model.Password,
model.RememberLogin,
lockoutOnFailure: true); // <- HERE