如何以管理方式为忘记密码的 ASP.net 身份用户设置新密码?
Posted
技术标签:
【中文标题】如何以管理方式为忘记密码的 ASP.net 身份用户设置新密码?【英文标题】:How do I administratively set a new password for ASP.net Identity User who forgot their password? 【发布时间】:2015-11-28 02:59:14 【问题描述】:我不是在寻找涉及用户、生成令牌和发送电子邮件以重置用户密码的解决方案。
场景是用户联系管理员并要求他们重置密码(内部组织 Web 应用程序)。然后他们会被告知新的临时密码是什么,以便他们可以登录并更改它。
我没有看到可以让我执行上述操作的功能。我的尝试:
string passwordToken = await UM.GeneratePasswordResetTokenAsync(user.Id);
IdentityResult res = await UM.ResetPasswordAsync(user.Id, passwordToken, "newPassword#@!$%");
UM 是 UserManager。
我收到错误“未注册 IUserTokenProvider”。我认为 GeneratePasswordResetToken 是导致错误的原因。如果有,为什么?
我该如何正确地做我需要的事情?
【问题讨论】:
【参考方案1】:使用RemovePasswordAsync
和AddPasswordAsync
的组合
UserManager.RemovePasswordAsync(user.Id);
UserManager.AddPasswordAsync(user.Id, tempPassword);
【讨论】:
用户忘记密码,无法使用此功能。以上是关于如何以管理方式为忘记密码的 ASP.net 身份用户设置新密码?的主要内容,如果未能解决你的问题,请参考以下文章