20-5 Base Identity et création de compte
Tout comme Identity offre une fonction SignInAsync via le SignInManager pour identifier un utilisateur, un objet UserManager permet pour sa part de créer un utilisateur.
-
Ajoutez à votre contrôleur
ComptesControllerles classesUserManageretSignInManagerpour que ces dernières soient injectées via le mécanisme d'injection de dépendance.Snowfall.Web.Mvc/Controllers/ComptesController.cspublic class ComptesController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
public ComptesController(
UserManager<ApplicationUser> userManager,
SignInManager<ApplicationUser> signInManager)
{
_userManager = userManager;
_signInManager = signInManager;
} -
Créez un
ApplicationUserà partir du ViewModel reçu, si le ViewModel est valide. Au niveau précédent, vous avez implémenté une vérification pour les validations (ModelState.IsValid), assurez-vous de faire la création duApplicationUsersi le modèle est valide.infoVous pouvez remplacer le
return Content($@"...)Snowfall.Web.Mvc/Controllers/ComptesController.cspublic async Task<IActionResult> Create(CreerCompteViewModel creerCompteViewModel)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser
{
UserName = creerCompteViewModel.Email,
Email = creerCompteViewModel.Email,
Prenom = creerCompteViewModel.Prenom,
Nom = creerCompteViewModel.Nom
};
}
return View("New", creerCompteViewModel);
}