SqlMembershipProvider passwordStrengthRegularExpression和空格

时间:2012-08-03 08:37:42

标签: asp.net membership-provider

我们有一个网站使用默认的System.Web.Security.SQLMembershipProvider来处理用户及其密码。今天我注意到空白并不算作一个特殊的角色有点奇怪,让我想到其他特价是否也无效?它会产生一些问题,因为我们还有验证正则表达式以匹配链中较早的密码,并将空白作为有效的特殊字符计算。

我的配置如下:

<add connectionStringName="MyConnectionString" 
  enablePasswordRetrieval="false" 
  enablePasswordReset="true" 
  requiresQuestionAndAnswer="false" 
  applicationName="Payson 2.0" 
  requiresUniqueEmail="true" 
  passwordFormat="Hashed" 
  maxInvalidPasswordAttempts="20" 
  minRequiredPasswordLength="8" 
  minRequiredNonalphanumericCharacters="0" 
  passwordStrengthRegularExpression="(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})" 
  passwordAttemptWindow="10" 
  name="AspNetSqlMembershipProvider" 
  type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

你会认为.*\W会匹配空格,但它不会。如果我尝试将密码从abcdefg!1更改为abcdefg 1,则会失败,我的问题是为什么以及是否还有其他非明显的案例?

0 个答案:

没有答案