4

在更改密码页面中,我们有此代码,所以如果我们想将密码策略更改为“StrongPolicy”,我们有办法还是默认?

我们也可以将其更改为弱策略吗?

我读了 MSDN,但找不到。

Membership mu ; 
mu=Membership.GetUser(txtUserName.Text); 

mu.UnlockUser();
var newPass= mu.ResetPassword();
mu.ChangePassword(newPass,TxtPassword.Text);
4

3 回答 3

7

如果您使用的是 MVC 5(可能是 MVC4,尚未检查)。

有一个很好的简单方法可以在不更改配置的情况下更改它。在您的解决方案资源管理器中,转到

'App_Start' > 身份配置

在这里您将看到一个密码验证器,更改这些设置将允许您更改站点所需密码的复杂性:

manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = true, RequireDigit = true, RequireLowercase = true, RequireUppercase = true, };

于 2014-07-10T07:19:04.550 回答
4

默认情况下,.net 中的会员资格提供者限制您拥有长度为 7(至少)的密码,并且其中一个字符必须是字母数字。

尽管有很多方法可以改变这一点。您可以在会员提供商中检查更改密码策略设置。

使用最小长度和非字母数字字符

<membership ...>
  <providers>
    <add minRequiredPasswordLength=10 minRequiredNonalphanumericCharacters=2 .../>
  </providers>
 </membership>

使用正则表达式

<membership ...>
  <providers>
    <add passwordStrengthRegularExpression= 
                    "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$" .../>
  </providers>
 </membership>

上面的代码来自同一个站点。

于 2013-10-13T12:00:43.407 回答
1

默认情况下,ASP.NET Membership 强制使用强密码。如果你想让它变弱,通过更改 Web.config 中的配置设置

<membership>
    <providers>
      <add passwordStrengthRegularExpression= "" .../>
      <add minRequiredPasswordLength=... minRequiredNonalphanumericCharacters=2 .../>
    </providers>  
</membership>

MSDN

默认情况下,ASP.NET 成员资格提供程序强制使用强密码。例如,SqlMembershipProvider 和 ActiveDirectoryMembership 提供程序确保密码长度至少为 7 个字符且至少包含一个非字母数字字符。确保您的会员提供者配置强制使用至少此强度的密码。要配置提供商强制执行的精确密码复杂性规则,您可以设置以下附加属性:

更多信息:http: //msdn.microsoft.com/en-us/library/ff649487.aspx

于 2013-10-13T11:57:09.123 回答