public ActionResult ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return View(model); } using(Data db = new Data()) { var utilisateur = (from u in db.Users where u.Email == model.Email select u).FirstOrDefault(); if( utilisateur != null) { string mdp = System.Web.Security.Membership.GeneratePassword(8, 2); utilisateur.Password = Cryptage.getMd5Hash(mdp); db.SaveChanges(); ViewBag.Resultat = string.Format("Un nouveau mot de passe à été généré : {0}. Vous pouvez maintenant vous connecter avec ce mot de passe.", mdp); return RedirectToAction("/Account/Login"); } } return View(); }
public async Task<ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return View(model); } var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { // Ne révélez pas que l'utilisateur n'existe pas return RedirectToAction("ResetPasswordConfirmation", "Account"); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { return RedirectToAction("ResetPasswordConfirmation", "Account"); } AddErrors(result); return View(); }