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
ComptesController
les classesUserManager
etSignInManager
pour 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 duApplicationUser
si 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);
}