如何在asp.net会员中比较密码和用户名?

时间:2012-01-09 11:52:19

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

如何将输入的密码与在ASP.Net Membership中创建新用户之前输入的用户名进行比较,以使密码不等于用户名?
更新
我正在尝试设置(在web.config文件提供程序部分)
passwordStrengthRegularExpression= "^(?:(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!%,.;:])|(?=.*[a-z])(?=.*[0-9])(?=.*[!%,.;:])|(?=.*[A-Z])(?=.*[0-9])(?=.*[!%,.;:]))(?i)(?!.*" + Username + ").+$";
但我担心如果像这样比较用户名我会在会员资格中工作
其次我想要做的是使用一些自定义验证来装饰AccountModel中 RegisterModel 类的Password属性。 无论哪种方式我都很困惑,需要你的建议。

1 个答案:

答案 0 :(得分:1)

它不是一个直接的答案,但是如果你根据MembershipProvider配置中的密码设置了最低复杂性要求,那么这几乎没有可能。

这是在以下web.config块中完成的(例如):

<membership>
    <providers>
        <clear/>
        <add connectionStringName="xxx" requiresQuestionAndAnswer="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="5" passwordStrengthRegularExpression="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$" applicationName="/" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </providers>      
</membership>