2015-10-11 29 views

risposta

14

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.

+2

Grazie Jason. Il problema è quando digito 'model.UserName' ottengo la sottolineatura rossa e anche quando digito' model'. Non vedo l'opzione UserName da selezionare. –

+0

@kevinMaxwell se si decide di utilizzare il nome utente, perché non modificare semplicemente ApplicationUser Model? – Sakthivel

+0

@codebrain intendi IdentityModels? –

Problemi correlati