ASP.NET 核心身份设置无效
ASP.NET Core Identity Settings Not Working
我使用 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();
密码规则似乎有效,但锁定规则无效。我需要启用什么吗?
不知道我是怎么错过的。锁定功能是 SignInManager
上 PasswordSignInAsync
方法中登录过程的一部分。我需要更改的代码行是 AccountController
:
中 Login
方法的一部分
SignInManager.PasswordSignInAsync(
model.Email,
model.Password,
model.RememberLogin,
lockoutOnFailure: true); // <- HERE
我使用 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();
密码规则似乎有效,但锁定规则无效。我需要启用什么吗?
不知道我是怎么错过的。锁定功能是 SignInManager
上 PasswordSignInAsync
方法中登录过程的一部分。我需要更改的代码行是 AccountController
:
Login
方法的一部分
SignInManager.PasswordSignInAsync(
model.Email,
model.Password,
model.RememberLogin,
lockoutOnFailure: true); // <- HERE