public async Task <IActionResult> ResetPasswordByUserAdmin(ResetPasswordByAdminViewModel model) { if (ModelState.IsValid) { var user = await _userManager.FindByNameAsync(model.UserName); if (user == null) { ModelState.AddModelError("", "نام کاربری یافت نشد"); return(View(model)); } var resetPasswordToken = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, resetPasswordToken, model.NewPassword); if (result.Succeeded) { ModelState.AddModelError("", "رمزعبور با موفقیت تغییر یافت"); return(View(model)); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } } return(View(model)); }
public async Task <ActionResult> ResetPasswordByAdmin(string userId, string code) { var user = await UserManager.FindByEmailAsync(userId); var isValidToken = UserManager.VerifyUserToken(user.Id, "ResetPassword", code); if (string.IsNullOrEmpty(code) || user == null || !isValidToken) { return(View("InvalidToken")); } else if (isValidToken) { var model = new ResetPasswordByAdminViewModel { Email = userId, Code = code, Questions = new List <ChallengeQandAViewModel>() { new ChallengeQandAViewModel(), new ChallengeQandAViewModel(), new ChallengeQandAViewModel() } }; return(View(model)); } return(View("Error")); }
public async Task <ActionResult> ResetPasswordByAdmin(ResetPasswordByAdminViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { ModelState.AddModelError("", "No user found."); return(View()); } IdentityResult result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { user.Forcechangpassword = true; await UserManager.UpdateAsync(user); await UserManager.SendEmailAsync(user.Id, "Your password has been reset by admin", "Your password has been reset. If you didn't ask for reset ,please contact Admin."); ViewBag.Name = user.DisplayName; return(RedirectToAction("ResetPasswordByAdminConfirmation", "Account", new { name = user.DisplayName })); } else { AddErrors(result); return(View()); } } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> ResetPasswordByAdmin(string Id) { if (Id == null) { return(View("Error")); } var user = UserManager.FindById(Id); var model = new ResetPasswordByAdminViewModel(); string code = await UserManager.GeneratePasswordResetTokenAsync(Id); model.Code = code; model.DisplayName = user.DisplayName; model.Email = user.Email; return(View(model)); }
private async Task OnSetPassword() { try { if (string.IsNullOrWhiteSpace(_password)) { await Alert.ShowMessage(nameof(AppResources.PleaseEnterPassword)); return; } IsBusy = true; var context = new ResetPasswordByAdminViewModel { AppUserId = _user.AppUserId, NewPassword = _password }; var result = await Api.ResetPasswordByAdmin(context); if (!result.Successful.GetValueOrDefault() || result.ValidationErrors.Any()) { await Alert.DisplayApiCallError(result.ExceptionMessage, result.ValidationErrors); return; } if (!result.Data.GetValueOrDefault()) { return; } await Nav.Nav.PopAsync(); } catch (Exception e) { await Alert.DisplayError(e); } finally { IsBusy = false; } }
public async Task <IHttpActionResult> ResetPassword(ResetPasswordByAdminViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _userManager.FindByIdAsync(model.Id); if (user == null)//|| !(await _userManager.IsEmailConfirmedAsync(user.Id))) { // Don't reveal that the user does not exist or is not confirmed return(BadRequest("کاربری با مشخصات مورد نظر در سیستم موجود نیست")); } var code = await _userManager.RemovePasswordAsync(user.Id); var result = await _userManager.AddPasswordAsync(user.Id, model.Password); // If we got this far, something failed, redisplay form return(Ok()); }
public async Task <ActionResult> ResetPasswordByAdmin(ResetPasswordByAdminViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByEmailAsync(model.Email); var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { // Del/Add the related Security Questions and Answers DataProviderAuth.CreateUserQuestions(user, model.Questions); // Auto SignIn await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ApiResponseOfBoolean> ResetPasswordByAdmin( ResetPasswordByAdminViewModel context) { return(await AXClient.Instance.ResetPasswordByAdminAsync(context).ConfigureAwait(false)); }