2015-10-26 8 views
1

После того, как changepassword выйдет из процесса. Как вы думаете, проблема возникает. Мне нужна ваша помощь. Спасибо.Asp.net Identity Change Password После SignOut

Неисправность: выход из системы после изменения пароля пользователя.

private UserManager<ApplicationUser> _userManager 
    { 
     get 
     { 
      var userStore = new UserStore<ApplicationUser>(Db); 
      return new UserManager<ApplicationUser>(userStore); 
     } 
    } 


public bool ChangePassword(string oldPassword,string password) 
    { 
     var userId = HttpContext.Current.User.Identity.GetUserId(); 
     var user = _userManager.ChangePasswordAsync(userId, oldPassword, password); 
     if(!user.Result.Succeeded) return false; 
     return true; 
    } 
+2

Какая проблема? Больше информации пожалуйста. –

+0

Выполнение выхода из системы после изменения пароля пользователя. –

+1

Поскольку у вас есть пользовательский менеджер, почему бы вам не изменить пользовательский объект и позволить инфраструктуре сущности выполнять свою работу? 'user.PasswordHash = UserManager.PasswordHasher.HashPassword (пароль); IdentityResult result = wait UserManager.UpdateAsync (пользователь); ' – mcy

ответ

0

Проблема решена!

var userName = HttpContext.Current.User.Identity.Name; 
var user = _userManager.Find(userName, oldPassword); 
user.PasswordHash = UserManager.PasswordHasher.HashPassword(password); 
IdentityResult result = await UserManager.UpdateAsync(user);