2017-06-21 53 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