如何为忘记密码的ASP.net身份用户管理设置新密码?

时间:2015-09-02 14:28:28

标签: passwords asp.net-identity forgot-password change-password

我不是在寻找涉及用户,生成令牌和发送电子邮件以重置用户密码的解决方案。

该方案是用户与管理员联系并要求他们重置密码(内部组织Web应用程序)。然后告诉他们新的临时密码是什么,以便他们可以登录并更改它。

我认为没有任何功能可以让我执行上述操作。我的尝试:

string passwordToken = await UM.GeneratePasswordResetTokenAsync(user.Id);

IdentityResult res = await UM.ResetPasswordAsync(user.Id, passwordToken, "newPassword#@!$%"); 

UM是UserManager。

我收到错误"没有注册IUserTokenProvider"。我认为GeneratePasswordResetToken是导致错误的那个。如果是这样,为什么?

我如何正确地做我需要的?

1 个答案:

答案 0 :(得分:2)

使用RemovePasswordAsyncAddPasswordAsync

的组合
UserManager.RemovePasswordAsync(user.Id);
UserManager.AddPasswordAsync(user.Id, tempPassword);