La mia applicazione è MVC5, ho provato a permettere indirizzo di posta elettronica duplicato utilizzando il seguente:Asp.net Identity 2.0 - e-mail univoco
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();
}
Aggiungendo RequireUniqueEmail = false. Non ha funzionato, la pagina viene reindirizzata alla pagina di accesso !! La mia domanda è possibile consentire e-mail duplicate solo per questa azione, e perché mi viene reindirizzato alla pagina di accesso?
è che il codice tutto all'interno del metodo 'AddUser'? In tal caso, si imposta 'UserValidator' dopo aver creato l'utente. Deve andare in 'IdentityConfig.cs' –
Grazie Brendan. Potrei farlo, tuttavia ho bisogno che questa regola sia in vigore per altri moduli di registrazione. – hncl
Se è inserito in 'IdentityConfig.cs', verrà applicato su tutto il sito. Così com'è, stai impostando il flag 'RequireUniqueEmail' dopo che hai già creato l'utente. –