本文介绍了Identity 2.0通过管理员重置密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何重置其他用户的管理员密码?
How can I reset password as a admin for other users?
我尝试使用下面的代码
var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
var result = await UserManager.ResetPasswordAsync(user.Id, code, vm.NewPassword);
单步执行GeneratePasswordResetTokenAsync时,将调用控制器的dispose方法。
when stepping through GeneratePasswordResetTokenAsync, the dispose method of the controller is called.
有人可以启发我吗?
推荐答案
您还可以扩展UserManager并公开一个显式的AdminChangePassword API不需要任何信息。在ApplicationUserManager中扩展UserManager的东西应该可以正常工作:
You can also extend UserManager and expose an explicit AdminChangePassword API that doesn't require any information. Something like this in ApplicationUserManager which extends UserManager should work:
public IdentityResult ChangePasswordAdmin(string userId, string newPassword) {
var user = FindById(userId);
// validate password using PasswordValidator.Validate
user.PasswordHash = PasswordHasher.HashPassword(newPassword);
Update(user);
}
这篇关于Identity 2.0通过管理员重置密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!