gpt4 book ai didi

c# - 在 ASP.NET Core 2.x 中更改密码

转载 作者:行者123 更新时间:2023-11-30 19:14:54 26 4
gpt4 key购买 nike

如何在 Asp core 2.x 中通过管理员更改用户密码?

或使用短信代码更改密码

我的示例代码:

if (!ModelState.IsValid)
return View(model);

var user = await _userManager.FindByNameAsync(model.UserName);
if (user == null)
return RedirectToAction("Index");

if (model.smsCode == user.SmsCode)
{
user.PasswordHash = model.NewPassword;

IdentityResult result = await _userManager.UpdateAsync(user);
if (result.Succeeded)
{
}
}

错误:在 db 中保存 unhash pass

最佳答案

我们不应该用纯文本更新 user.PasswordHash,我们应该改用 Hash。

        var user = await _userManager.FindByNameAsync(model.UserName);
if(user == null){ /**/ }
if (model.smsCode != user.SmsCode){ /**/}

// compute the new hash string
var newPassword = _userManager.PasswordHasher.HashPassword(user,newpass);
user.PasswordHash = newPassword;
var res = await _userManager.UpdateAsync(user);

if (res.Succeeded) {/**/}
else { /**/}

关于c# - 在 ASP.NET Core 2.x 中更改密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51647513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com