asp.net会员如何在创建新用户/更改密码时限制密码属性?

时间:2012-01-10 06:00:04

标签: asp.net asp.net-mvc asp.net-membership

我想用下面提到的属性限制密码强度:: 密码强度:

  • 1.包含以下四个类别中的三个字符:

英文大写字母(A到Z)
英文小写字母(a到z)
基数为10位(0到9)
非字母字符(例如,!,$,#,%)

  • 2. 密码不包含用户的帐户名称


我可以通过在成员资格部分下的web.config文件中提供正则表达式PasswordStrengthRegularExpression属性来轻松实现第一个条件但问题是第二个(密码不包含用户的帐户名称) )我该怎么做才能实现这一点。

1 个答案:

答案 0 :(得分:0)

在以下帖子中查看我链接到的页面。

基本上,您编写自己的Dataannotation,因此您应该能够修改它以查看密码是否包含用户名而不是等于用户名。

Opposite of [compare(" ")] data annotation in .net?

我刚刚意识到你也发布了这个问题。

因此,您应该将blogpost中的类名更改为“CanNotContainAttribute”之类的内容 然后也改为构造函数的相同名称。

在IsValid方法中,您应检查一个字符串是否包含另一个字符串,即如果Password包含Username,如果注释应用于模型文件中的password属性,则此处将Username称为OtherProperty。

然后通过执行以下操作将注释应用于Password属性:

[CanNotContain("UserName")]
public string Password { get; set; }

我引用的原始博文是:http://www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-part-2