2023-02-16 307
评估方法签名,需要在更改它的同时知道旧密码.
membershipUser.ChangePassword(userWrapper.OldPassword, userWrapper.Password)
是否有任何方法可以在不知道旧的情况下更改密码.
string username = "username";
string password = "newpassword";
MembershipUser mu = Membership.GetUser(username);
mu.ChangePassword(mu.ResetPassword(), password);
此处的其他答案是正确的,但可以将密码留在未知状态.
ChangePassword将抛出异常,如果密码不符合Web.config(最小长度等)所订出的要求.但它只被称为ResetPassword后,它只失败了,所以密码不会被原始用户或试图改变它的人员所知.在更改密码之前检查复杂性要求以避免以下操作:
var user = Membership.GetUser(userName, false);
if ((newPassword.Length >= Membership.MinRequiredPasswordLength) &&
(newPassword.ToCharArray().Count(c => !Char.IsLetterOrDigit(c)) >=
Membership.MinRequiredNonAlphanumericCharacters) &&
((Membership.PasswordStrengthRegularExpression.Length == 0) ||
Regex.IsMatch(newPassword, Membership.PasswordStrengthRegularExpression))) {
user.ChangePassword(user.ResetPassword(), newPassword);
} else {
// Tell user new password isn't strong enough
}
您需要在更改它之前重置用户的密码,并将生成的密码传递给ChangePassword.
string randompassword = membershipUser.ResetPassword();
membershipUser.ChangePassword(randompassword , userWrapper.Password)
或内联:
membershipUser.ChangePassword(membershipUser.ResetPassword(), userWrapper.Password)
以上所述是小编给大家介绍的asp.net会员在不知道旧密码的情况下更改密码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33865.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态