按代码更改旧密码的OWIN身份密码?

时间:2015-01-23 13:38:45

标签: c# asp.net-mvc-4 asp.net-identity owin

我在MVC5中有一个带有OWIN身份的Web应用程序,我想知道是否有可能从代码更改用户密码而不知道旧密码。因为方法ChangePassword要求userIdoldPasswordnewPassword

1 个答案:

答案 0 :(得分:35)

在这种情况下,您将把ChangePassword视为重置密码。您可以通过生成令牌并使用该令牌直接使用重置密码来实现此目的,以使用新密码对其进行验证。

var userId = User.Identity.GetUserId();

var token = await UserManager.GeneratePasswordResetTokenAsync(userId);

var result = await UserManager.ResetPasswordAsync(userId, token, newPassword);

查看this one了解详情。

希望这有帮助。