Devo impostare il mio login per usare il nome utente invece dell'indirizzo email, come posso cambiarlo?Come accedere con "UserName" invece di "Email" in MVC Identity?
risposta
In realtà utilizza l'indirizzo di posta elettronica come nome utente, quindi nella tabella ASPNetUsers vedrai sia il nome utente che i campi di posta elettronica con l'indirizzo email.
Andare in AccountController, cercare il metodo Register (POST).
Modifica questo:
var user = new ApplicationUser { UserName = model.Email, Email = model.Email};
a questo:
var user = new ApplicationUser
{
UserName = model.UserName,
Email = model.Email
};
Poi vai nella Login.cshtml e cambiare tutti i campi corrispondenti modelli di posta elettronica al nome utente, invece.
Infine, accedere al metodo di accesso (POST) in AccountController e modificare il modello.Email su model.UserName.
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password,
model.RememberMe, shouldLockout: false);
È inoltre necessario apportare modifiche in AccountViewModels.cs per introdurre la nuova proprietà UserName.
Grazie Jason. Il problema è quando digito 'model.UserName' ottengo la sottolineatura rossa e anche quando digito' model'. Non vedo l'opzione UserName da selezionare. –
@kevinMaxwell se si decide di utilizzare il nome utente, perché non modificare semplicemente ApplicationUser Model? – Sakthivel
@codebrain intendi IdentityModels? –
Si prega di controllare questa discussione: http://stackoverflow.com/questions/27501533/use-nomeutente-instead-di-email-per-identità-in-asp-net-mvc5 –