2017-06-21 52 views
0

我有一个带有ASP.NET标识的Identity Server 4的实现。我问了一个关于如何应用某些登录规则的问题,并收到了解释如何在Startup.cs中添加一些选项的答案。这是我加入ConfigureServices方法:ASP.NET核心标识设置不起作用

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

不知道我错过了这个。锁定功能是SignInManager上的PasswordSignInAsync方法中的登录过程的一部分。我需要更改的代码行是AccountController中的Login方法的一部分:

SignInManager.PasswordSignInAsync(
    model.Email, 
    model.Password, 
    model.RememberLogin, 
    lockoutOnFailure: true); // <- HERE