BLACK JACK

Get busy living, or get busy dying.

导航

[ASP.NET 2.0 Security FAQs]目录

原文链接

翻译:2005-12-10  by  Jackie Lin

你可以在membership里配置minRequiredPasswordLength, minRequiredNonAlphanumericCharacters, 和 passwordStrengthRegularExpression 属性,来强制使用安全性高的密码.

安全性高的密码可以用来防止压力攻击(brute force attacks)和字典攻击(dictionary attacks).

SqlMembershipProviderActiveDirectoryMembershipProvider 的默认密码强度配置为:最少7个字符,其中最少有1个非字母数字的字符 .

如果你是在活动目录(AD)中使用ActiveDirectoryMembershipProvider , 你的域密码组策略(domain password policy)会默认的被使用, 不过你可以在你的程序里配置membership以覆盖相关的配置. 同样的, 如果你是在ADAM中使用ActiveDirectoryMembershipProvider , 你的本地密码组策略(local password policy)会默认被使用, 你也可以配置membership覆盖相关的配置.

你可以使用正则表达式来配置特别的密码强度规则, 或者你也可以配置密码中数字、字符、字母的最小最大长度.

使用正则表达式

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

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

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

译者注:以上均在web.config文件中配置

更多信息

更多关于强密码的信息请参考:"How To: Protect Forms Authentication in ASP.NET 2.0"  http://msdn.microsoft.com/library/en-us/dnpag2/html/PAGHT000012.asp