J'ai récemment mis à jour Asp.Net Identity Core
de mon formulaire de candidature 1.0 à 2.0.
Il y a de nouvelles fonctionnalités que je voulais essayer comme GenerateEmailConfirmationToken
etc.
J'utilise este comme référence.
Lorsque l'utilisateur essaie de s'enregistrer, j'obtiens une erreur lors de l'exécution de la méthode Post de Register
private readonly UserManager<ApplicationUser> _userManager;
public ActionResult Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var ifUserEXists = _userManager.FindByName(model.EmailId);
if (ifUserEXists == null) return View(model);
var confirmationToken = _userRepository.CreateConfirmationToken();//this is how i'm generating token currently.
var result = _userRepository.CreateUser(model,confirmationToken);
var user = _userManager.FindByName(model.EmailId);
if (result)
{
var code = _userManager.GenerateEmailConfirmationToken(user.Id);//error here
_userRepository.SendEmailConfirmation(model.EmailId, model.FirstName, confirmationToken);
//Information("An email is sent to your email address. Please follow the link to activate your account.");
return View("~/Views/Account/Thank_You_For_Registering.cshtml");
}
}
//Error("Sorry! email address already exists. Please try again with different email id.");
ModelState.AddModelError(string.Empty, Resource.AccountController_Register_Sorry__User_already_exists__please_try_again_);
return View(model);
}
Dans la ligne
var code = _userManager.GenerateEmailConfirmationToken(user.Id);
Je reçois une erreur disant :
No IUserTokenProvider is registered.
Pour l'instant, je voulais juste voir quel genre de code il génère. Est-ce que je dois modifier mon ApplicationUser
qui hérite de IdentityUser
classe ?
Ou dois-je modifier quelque chose pour que ces fonctions fonctionnent ?
1 votes
Y a-t-il un moyen de vérifier si un utilisateur existe en se basant sur d'autres champs que l'adresse électronique ? Par exemple, si j'avais deux champs appelés Numéro de client et Code postal pour les utilisateurs qui existeraient déjà dans la base de données afin d'empêcher n'importe qui de s'inscrire