我有一个MVC 3应用程序,至少有一次,根据passwordStrengthRegularExperssion设置生成了无效的密码。配置<membership>
部分中的设置为:
passwordStrengthRegularExpression =“^(?= {7,20} $)(?= [AZ])(?=。 [AZ])(?= [\ d \ W])。 $“
意味着我们需要至少一个大写字母和一个小写字母以及一个特殊字符。
在这种情况下生成的密码是“mg $ [v9p}” - 没有大写字母。将其中一个字母更改为大写使其通过正则表达式测试。
有没有人看到类似的行为,或者有人知道可能会发生什么?
谢谢!
答案 0 :(得分:0)
这取决于您使用的MembershipProvider。致电MembershipUser.ResetPassword
最终会调用MembershipProvider.ResetPassword
。
这意味着:
MembershipProvider
,你可以在那里看看会发生什么。 SqlMembershipProvider
而不是MSDN上的这个注释可能会回答你的问题:
ResetPassword方法创建的随机密码无法保证在PasswordStrengthRegularExpression属性中传递正则表达式。但是,随机密码将满足MinRequiredPasswordLength和MinRequiredNonAlphanumericCharacters属性建立的标准。