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
7
A
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.