ASP.NET配置文件中的密码策略(成员)

时间:2013-10-13 08:19:01

标签: c# asp.net asp.net-membership password-policy

在更改密码页面中,我们有这个代码,所以如果我们想将密码策略更改为“StrongPolicy”,我们有办法或默认情况下是这样吗?

我们还可以将其改为弱政策吗?

我读过MSDN但找不到它。

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

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

3 个答案:

答案 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提供商确保密码至少是   长度为七个字符,至少有一个非字母数字   字符。确保您的会员提供商配置强制执行   密码至少是这个强度。配置精确密码   您的提供商强制执行的复杂性规则,您可以设置以下内容   其他属性:

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