在如何利用 MembershipUser 更改密码一文中谈到了用 ResetPassword 来更改密码,本身没有错,但在实际应用中还应考虑另一个问题。
那就是用户被锁定的问题,如果用户尝试登录连续失败 maxInvalidPasswordAttempts 次,则会锁定该用户,此时也无法重设密码。
实际应用中,我们可能会解锁,然后再重设密码。
MembershipUser user = Membership.GetUser("用户名");
if (user.IsLockedOut)
{
user.UnlockUser();
}
string password = user.ResetPassword(); //重置一个随机密码
user.ChangePassword(password, "新密码"); //用指定的密码设置
相关阅读