2014-07-17 26 views
56

Come modificare la convalida della password in ASP.Net MVC5 Identity 2?Come modificare la convalida della password in ASP.Net MVC Identity 2?

Grazie

+4

Bene, Per impostazione predefinita, il lavoro di annotazione dei dati del modulo di registrazione asp.net MVC per la convalida del sito del cliente è buono. ma dopo aver inviato il modulo questa convalida venire. "Le password devono contenere almeno un carattere non lettera o cifra. Le password devono avere almeno una lettera minuscola ('a' - 'z'). Le password devono avere almeno una lettera maiuscola ('A' - 'Z')." ma non riesco a trovare questo codice di convalida del messaggio per modificare me stesso. Come posso cambiarlo? Aggiornamento –

+2

: video tutorial ASP.Net MVC5 Identity2 http://www.youtube.com/playlist?list=PLQYI2ou09WiRPs55DJ9Q4rxGSgSMNCvNx –

risposta

170

Nel modello di progetto MVC in VS2013 Update 2, ci dovrebbe essere un file chiamato App_Start/IdentityConfig.cs. In esso si dovrebbe trovare la classe ApplicationUserManager e un metodo di produzione statico chiamato Create(). È qui che viene configurata la classe del gestore utenti, comprese le regole di convalida lato server per le password. Per esempio:

manager.PasswordValidator = new PasswordValidator 
{ 
    RequiredLength = 6, 
    RequireNonLetterOrDigit = true, 
    RequireDigit = true, 
    RequireLowercase = true, 
    RequireUppercase = true, 
}; 
+1

Oh! Sì. Grazie :) –

+5

Una cosa da notare, le regole predefinite che hai elencato si traducono in un errore per la password 'Test123' con il messaggio" Le password devono avere almeno un carattere non lettera o cifra. " che è molto ingannevole perché sembra che se sia "RequireNonLetterOrDigit' e' RequireDigit' siano 'true' che' RequireDigit' ruba il testo numerico e forza il fallimento della convalida della password, quindi dice all'utente di fare qualcosa che già hanno fatto. –

+3

RequireNonLetterOrDigit = la password richiede un carattere che non sia una lettera e non una cifra. – pippopd

12

Oltre alla risposta di Anthony Chu,

Potrebbe anche essere necessario cambiarlo nella cartella Modelli> AccountViewModel.cs> classe RegisterViewModel (oltre che di classe ResetPasswordViewModel)

Change "MinimumLength = 6" (è necessario scorrere verso destra)

[Required] 
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
[DataType(DataType.Password)] 
[Display(Name = "Password")] 
public string Password { get; set; } 
+0

Nel mio caso ho avuto il codice menzionato sopra in 'ApplicationUserManager.cs' che si trova nella cartella' Model'. – webworm

+0

Ho impostato alcune opzioni per aggiungere un utente nel file Startup.cs. Parte di questo è l'impostazione della password dell'utente. Quando è impostato qui, anche dopo aver modificato i dettagli sia in questa risposta sia nella risposta di Anthony. Ho ancora il requisito di inserire la password lunga 6 caratteri. Anche se in entrambi i posti (e anche le classi ManagerViewModels.cs SetPasswordViewModel e ChangePasswordViewModel li ho impostati tutti a 2. C'è ancora un altro posto dove questo controllo è fatto. Sto usando VS2015? –

Problemi correlati