2013-11-03 16 views
16

Come posso utilizzare l'e-mail anziché il nome utente nel nuovo sistema di identità ASP.NET?L'identità di ASP.NET utilizza l'e-mail anziché il nome utente

Ho provato a cambiare la classe RegisterViewModel:

[Display(Name = "Email address")] 
[Required(ErrorMessage = "The email address is required")] 
[EmailAddress(ErrorMessage = "Invalid Email Address")] 
public string UserName { get; set; } 

ma quando entro in un indirizzo di posta sto ottenendo l'errore:

User name [email protected] is invalid, can only contain letters or digits. 

risposta

21

si hanno 2 opzioni per risolverlo o disattivando quel validatore o crea il tuo UserValidator.

Si potrebbe spegnere così:

UserManager.UserValidator = new UserValidator<TUser>(UserManager) 
            { 
             AllowOnlyAlphanumericUserNames = false 
            }; 
+3

suggerisco di creare un custom UserManager (ad esempio AppUserManager: UserManager) che imposta l'UserValidator di se stessa in questo modo quando un'istanza. Faccio questo in modo che non debba ricordare di impostare UserValidator durante la creazione di una classe UserManager, e devo solo ricordare di usare la mia classe AppUserManager personalizzata. –

Problemi correlati