Meine Anwendung MVC5 ist, habe ich versucht, doppelte E-Mail-Adresse mit dem folgenden zu ermöglichen:Asp.net Identity 2.0 - Einzigartige E-Mail
public async Task<ActionResult> AddUser (UserRegisterViewModel userViewModel)
{
......
if (ModelState.IsValid)
{
var user = new ApplicationUser
{
......
};
var adminresult = await UserManager.CreateAsync(user);
var result = await UserManager.AddToRolesAsync(user.Id, user.Profession);
UserManager.UserValidator = new UserValidator<ApplicationUser>(UserManager)
{
RequireUniqueEmail = false
};
if (adminresult.Succeeded)
{
....
return RedirectToAction("VisitInfo", "Visit");
}
if (!adminresult.Succeeded)
{
var er = adminresult.Errors.FirstOrDefault();
ViewBag.Error = er;
return View(userViewModel);
}
return RedirectToAction("VisitInfo", "Visit");
}
return View();
}
Durch das Hinzufügen RequireUniqueEmail = false. Es hat nicht funktioniert, die Seite wird zur Anmeldeseite umgeleitet !! Meine Frage ist, könnte ich doppelte E-Mails nur für diese Aktion zulassen, und warum werde ich auf die Anmeldeseite umgeleitet?
Ist dieser Code alle innerhalb des 'AddUser' Methode? Wenn ja, richten Sie den 'UserValidator' NACH dem Erstellen des Benutzers ein. Es muss gehen in 'IdentityConfig.cs' –
Danke Brendan. Ich könnte das tun, aber ich brauche diese Regel für andere Registrierungsformulare. – hncl
Wenn es in die 'IdentityConfig.cs' geschrieben wird, wird es Site-weit angewendet. So wie es steht, setzen Sie das Flag "RequireUniqueEmail", nachdem Sie den Benutzer bereits erstellt haben. –