2016-07-03 65 views
7

Qual è il modo semplice per personalizzare le regole di convalida della password in asp.net core MVC? Il problema è esattamente come qualcuno aveva qui How To Change Password Validation in ASP.Net MVC Identity 2? l'unica differenza è che sto usando asp.net CORE MVC (ultima build) con Visual Studio 2015. Mi piacerebbe rimuovere tutte le regole di convalida della password. Non esiste una classe ApplicationUserManager nel progetto, inoltre non sono sicuro che sia possibile personalizzare le regole di convalida di UserManager nel file Startup.cs.validatori password asp.net core mvc

risposta

8

se si desidera semplicemente disattivare alcune restrizioni di password (RequireLowercase, RequiredLength ecc) - configurare IdentityOptions.Password in avvio, in questo modo:

services.Configure<IdentityOptions>(o => 
{ 
    o.Password.RequiredLength = 12; 
}); 

se si desidera cambiare completamente la logica di convalida della password - implementare IPasswordValidator e registrarlo in avvio .

11
public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddIdentity<ApplicationUser, IdentityRole>(options => 
      { 
       options.Password.RequireDigit = true; 
       options.Password.RequireLowercase = true; 
       options.Password.RequireNonAlphanumeric = true; 
       options.Password.RequireUppercase = true; 
       options.Password.RequiredLength = 6; 
       options.User.AllowedUserNameCharacters = null; 
      }) 
      .AddEntityFrameworkStores<ApplicationDbContext>() 
      .AddDefaultTokenProviders(); 
} 

Nota: Si dovrebbe anche modificare le nuove impostazioni nel RegisterViewModel.Password, ResetPasswordViewModel.Password, ChangePasswordViewModel.NewPassword e SetPasswordViewModel.NewPassword. per abilitare la nuova convalida sul front-end.

Problemi correlati