Exemplo n.º 1
0
        // Use this for a Password RESET - needs the ResetPassword View that is INSIDE of the Shared Layout
        // GET: /Account/CustomResetPassword
        public async Task <ActionResult> CustomPasswordResetAsync()
        {
            var userId = User.Identity.GetUserId();
            var user   = UserManager.FindById(userId);
            var vm     = new CustomResetPasswordViewModel
            {
                Code  = await UserManager.GeneratePasswordResetTokenAsync(userId),
                Email = user.Email
            };

            return(View("CustomResetPassword", vm));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> CustomResetPassword(CustomResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            string id   = User.Identity.GetUserId();
            var    user = UserManager.FindById(id);

            if (!UserManager.CheckPassword(user, model.OldPassword))
            {
                ModelState.AddModelError("Password", "Old Password is incorrect");
                return(View(model));
            }
            var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.NewPassword);

            if (result.Succeeded)
            {
                return(RedirectToAction("CustomResetPasswordConfirmation", "Account"));
            }
            AddErrors(result);
            return(View());
        }
Exemplo n.º 3
0
        public async Task <ActionResult> CustomResetPassword(CustomResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            string id   = User.Identity.GetUserId();
            var    user = UserManager.FindById(id);

            if (!UserManager.CheckPassword(user, model.OldPassword))
            {
                ModelState.AddModelError("Password", "Old Password is incorrect");
                return(View(model));
            }
            var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.NewPassword);

            if (result.Succeeded)
            {
                TempData["Message"] = "Your password has been reset. Please make sure you remember what your new password is - you will need it next time you sign on.";
                return(RedirectToAction("Lobby", "Home"));
            }
            AddErrors(result);
            return(View());
        }