在更改密码页面中,我们有这样的代码,所以如果我们想将密码策略更改为"StrongPolicy",我们有办法吗?
我们还能把它改为弱政策吗?
我读了MSDN,但找不到它。
Membership mu ;
mu=Membership.GetUser(txtUserName.Text);
mu.UnlockUser();
var newPass= mu.ResetPassword();
mu.ChangePassword(newPass,TxtPassword.Text);
如果您正在使用MVC 5(可能是MVC4,尚未选中(。
有一个很好的简单方法可以在不更改配置的情况下更改它。在您的解决方案浏览器中,转到
"应用程序启动">身份配置
在这里,您将看到一个密码验证器,更改这些设置将允许您更改网站所需密码的复杂性:
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireNonLetterOrDigit = true,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
默认情况下,.net中的memebership提供程序限制您的密码长度为7(至少(,其中一个字符必须是字母数字。
尽管有很多方法可以改变这一点。您可以在成员资格提供程序中检查更改密码策略设置
使用最小长度和非字母数字字符
<membership ...>
<providers>
<add minRequiredPasswordLength=10 minRequiredNonalphanumericCharacters=2 .../>
</providers>
</membership>
使用正则表达式
<membership ...>
<providers>
<add passwordStrengthRegularExpression=
"^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$" .../>
</providers>
</membership>
以上代码来自同一网站。
默认情况下,ASP.NET成员资格强制使用强密码。如果你想让它更弱,可以通过更改Web.config 中的配置设置
<membership>
<providers>
<add passwordStrengthRegularExpression= "" .../>
<add minRequiredPasswordLength=... minRequiredNonalphanumericCharacters=2 .../>
</providers>
</membership>
MSDN
默认情况下,ASP.NET成员资格提供程序强制使用强密码。例如,SqlMembershipProvider和ActiveDirectoryMembership提供程序确保密码至少为长度为七个字符,至少有一个非字母数字性格确保您的成员资格提供程序配置强制执行至少有这种强度的密码。配置精确密码由您的提供商强制执行的复杂性规则,您可以设置以下内容附加属性:
更多信息:http://msdn.microsoft.com/en-us/library/ff649487.aspx