Warum ist UserManager.Finden() null zurückgeben, wenn mein Benutzername ist E-Mail?
Ich versuche zu implementieren E-Mail-Adresse Benutzernamen in der AspNet.Identität für MVC5, aber ich habe Probleme mit dem UserManager finden meine user.
public UserManager<ApplicationUser> UserManager { get; private set; }
public AccountController(UserManager<ApplicationUser> userManager)
{
UserManager = userManager;
UserManager.UserValidator = new UserValidator<ApplicationUser>(UserManager)
{
AllowOnlyAlphanumericUserNames = false
};
}
In meinem login-post-Methode:
var user = await UserManager.FindAsync(model.UserName, model.Password);
user gleich null ist.
Bin ich mit der falschen Methode zu finden, die meine user mit Benutzername und Passwort?
Selbst wenn ich
var db = new ApplicationDBContext();
var user = db.Users.Find(model.UserName);
oder
var db = new ApplicationDBContext();
var user = db.Users.FirstOrDefault(u => u.UserName == model.UserName);
Bekomme ich eine null -
UPDATE
Wie es aussieht bin ich immer null, weil der user den ich versuche zu Samen nicht ausgesät. Wer weiß, warum?
Dies ist mein Saatgut für die Benutzer in der Konfiguration.cs (Migrationen):
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var users = new List<ApplicationUser>()
{
new ApplicationUser { UserName = "[email protected]", IsActive = true },
new ApplicationUser { UserName = "[email protected]", IsActive = true },
new ApplicationUser { UserName = "[email protected]", IsActive = false }
};
users.ForEach(i => manager.Create(i, "password"));
Wenn ich die Samen, die Benutzer, die keine E-Mail-Benutzernamen, das Saatgut geht durch mit kein problem:
new ApplicationUser { UserName = "batman", IsActive = true },
new ApplicationUser { UserName = "superman", IsActive = true },
new ApplicationUser { UserName = "wonderwoman", IsActive = false }
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekam es. Ich brauchte, um zu ändern der validator in mein Samen:
Danach war ich in der Lage, Samen meine E-Mail-Benutzernamen.
Verließ ich diese in meinem AccountController für das hinzufügen von Benutzern:
Überprüfen Sie die Datenbank Hinzugefügt Init-Strategie Oder tun manuellen updates.
z.B. [Datenbank Init-Strategie]
update-database
alles andere in meinem Samen füllt, mit Ausnahme der Benutzer.