在更改密码页面中,我们有这个代码,所以如果我们想将密码策略更改为“StrongPolicy”,我们有办法或默认情况下是这样吗?
我们还可以将其改为弱政策吗?
我读过MSDN但找不到它。
Membership mu ;
mu=Membership.GetUser(txtUserName.Text);
mu.UnlockUser();
var newPass= mu.ResetPassword();
mu.ChangePassword(newPass,TxtPassword.Text);
答案 0 :(得分:5)
如果你正在使用MVC 5(可能是MVC4,还没有检查过)。
Theres是一种很简单的方法,可以在不改变配置的情况下更改它。在您的解决方案资源管理器中,转到
'App_Start'> IdentityConfig
在这里您将看到一个密码验证器,更改这些设置将允许您更改网站所需密码的复杂性:
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireNonLetterOrDigit = true,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
答案 1 :(得分:4)
默认情况下,.net中的会员提供程序限制您使用长度为7(至少)的密码,并且其中一个字符必须是字母数字。
虽然有很多方法可以改变它。您可以查看 Changing password policy setting in membership provider.
使用最小长度和非字母数字字符
<membership ...>
<providers>
<add minRequiredPasswordLength=10 minRequiredNonalphanumericCharacters=2 .../>
</providers>
</membership>
使用正则表达式
<membership ...>
<providers>
<add passwordStrengthRegularExpression=
"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$" .../>
</providers>
</membership>
以上代码来自同一网站。
答案 2 :(得分:1)
默认情况下,ASP.NET Membership强制使用强密码。如果您想通过更改Web.config中的配置设置来使其更弱
<membership>
<providers>
<add passwordStrengthRegularExpression= "" .../>
<add minRequiredPasswordLength=... minRequiredNonalphanumericCharacters=2 .../>
</providers>
</membership>
MSDN
默认情况下,ASP.NET成员资格提供程序强制使用强密码。 例如,SqlMembershipProvider和 ActiveDirectoryMembership提供商确保密码至少是 长度为七个字符,至少有一个非字母数字 字符。确保您的会员提供商配置强制执行 密码至少是这个强度。配置精确密码 您的提供商强制执行的复杂性规则,您可以设置以下内容 其他属性: