c# - Identity 2.0 由管理员重置密码

标签 c# asp.net-identity asp.net-identity-2 asp.net-mvc-5.1

如何以管理员身份为其他用户重置密码?

我试过使用下面的代码

var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
var result = await UserManager.ResetPasswordAsync(user.Id, code, vm.NewPassword);

单步执行 GeneratePasswordResetTokenAsync 时,将调用 Controller 的 dispose 方法。

谁能教教我吗?

最佳答案

您还可以扩展 UserManager 并公开不需要任何信息的显式 AdminChangePassword API。在扩展 UserManager 的 ApplicationUserManager 中类似这样的东西应该可以工作:

public IdentityResult ChangePasswordAdmin(string userId, string newPassword) {
     var user = FindById(userId);
     // validate password using PasswordValidator.Validate
     user.PasswordHash = PasswordHasher.HashPassword(newPassword);
     Update(user);
}

关于c# - Identity 2.0 由管理员重置密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783249/

相关文章:

C# 简短空检查语法

c# - 如何在 EpPlus 中更改十进制数的格式?

c# - 让角色管理器与现有数据库一起工作

asp.net-mvc - 使用多个 DbContext 自动更新数据库

ASP.NET Core 身份 - 无效 token (Linux)

c# - 控制台应用程序 - 重新创建 Azure CLI `az --login` 的 Web 浏览器本地主机回调身份验证技术

C# OleDbParameter 与 Access DateTime 查询

asp.net-identity-2 - 允许电子邮件和用户名进行身份验证

asp.net - ASP.Net Identity 2.0 中的不同用户类型

asp.net-mvc - 部署后 ASP.NET Identity 2 重新登录