如何在新的ASP.NET Identity system中获取用户的密码?或者在不知道当前密码(用户忘记密码)的情况下如何重置?
发布于 2014-03-19 04:53:12
已弃用
这是最初的答案。它确实起作用了,但有一个问题。如果AddPassword
失败了怎么办?用户没有密码。
最初的答案是:我们可以使用三行代码:
UserManager<IdentityUser> userManager =
new UserManager<IdentityUser>(new UserStore<IdentityUser>());
userManager.RemovePassword(userId);
userManager.AddPassword(userId, newPassword);
另请参阅:http://msdn.microsoft.com/en-us/library/dn457095(v=vs.111).aspx
现在推荐
可能更好的方法是先使用EdwardBrey proposed,然后再使用DanielWright later elaborated,并提供一个代码示例。
发布于 2014-04-16 04:49:13
在您的UserManager
上,首先调用GeneratePasswordResetTokenAsync。一旦用户验证了他的身份(例如,通过接收电子邮件中的令牌),将令牌传递给ResetPasswordAsync。
发布于 2013-10-23 01:48:13
string message = null;
//reset the password
var result = await IdentityManager.Passwords.ResetPasswordAsync(model.Token, model.Password);
if (result.Success)
{
message = "The password has been reset.";
return RedirectToAction("PasswordResetCompleted", new { message = message });
}
else
{
AddErrors(result);
}
这段代码取自AspNetIdentitySample项目的available on github
https://stackoverflow.com/questions/19524111
复制相似问题