ResetPassword
方法可以重置旧密码,但用户无法使用ResetPassword
方法生成的新密码登录。代码:
String user =(((TextBox)PasswordRecovery2.Controls[0].FindControl("UserName")).Text).ToString();
String newPassword = clsStatic.RandomString(10, false);
MembershipUser username = Membership.GetUser(user);
String resetPassword = username.ResetPassword();
username.ChangePassword(resetPassword, newPassword);
答案 0 :(得分:1)
ChangePassword是返回true还是false?
我敢打赌,随机函数会返回一个不符合web.config成员资格部分中指定条件的密码。
由于ResetPassword
已经为您提供了新的有效密码,为什么还要生成另一个呢?
答案 1 :(得分:0)
您的新随机密码生成应该是理想情况下的其中一个
// this will automatically take care of all password criteria
string newPassword = Membership.GeneratePassword(10, 0);
或者
//for generating alpha numeric password only
string newPwd = Guid.NewGuid().ToString().Substring(0, 11).Replace("-", "");
否则你的代码就没问了。