private IActionResult UpadateError(UserAdminPasswordViewModel userAdminPasswordViewModel, string message) { userAdminPasswordViewModel.Notification = message; userAdminPasswordViewModel.UpdateResult = false; return(View("Index", userAdminPasswordViewModel)); }
public async Task <IActionResult> Index() { var user = await _userManager.GetUserAsync(User).ConfigureAwait(false); UserAdminPasswordViewModel userAdminPasswordViewModel = new UserAdminPasswordViewModel { OldPassword = string.Empty, NewPassword1 = string.Empty, NewPassword2 = string.Empty, }; return(View("Index", userAdminPasswordViewModel)); }
public async Task <IActionResult> Edit(UserAdminPasswordViewModel userAdminPasswordViewModel) { string oldPassword = userAdminPasswordViewModel.OldPassword; string newPassword1 = userAdminPasswordViewModel.NewPassword1; string newPassword2 = userAdminPasswordViewModel.NewPassword2; if (!ModelState.IsValid) { return(UpadateError(userAdminPasswordViewModel, EditNgMessage)); } if (!newPassword1.Equals(newPassword2)) { return(UpadateError(userAdminPasswordViewModel, PasswordMismatch)); } var user = await _userManager.GetUserAsync(User).ConfigureAwait(false); if (user == null) { return(UpadateError(userAdminPasswordViewModel, EditNgMessage)); } // 念のため変更前のパスワードをチェックする bool retCheckPass = await _userManager.CheckPasswordAsync(user, oldPassword).ConfigureAwait(false); if (!retCheckPass) { return(UpadateError(userAdminPasswordViewModel, PasswordMisstake)); } var retValidPass = await _userManager.PasswordValidators[0].ValidateAsync(_userManager, user, newPassword1).ConfigureAwait(false); if (!retValidPass.Succeeded) { return(UpadateError(userAdminPasswordViewModel, PasswordIllegal)); } var result = await _userManager.ChangePasswordAsync(user, oldPassword, newPassword1).ConfigureAwait(false); userAdminPasswordViewModel.Notification = EditOkMessage; userAdminPasswordViewModel.UpdateResult = true; return(View("Index", userAdminPasswordViewModel)); }