2012-01-09 71 views
0

如何在ASP.Net中创建新用户之前将输入的密码与输入的用户名进行比较,以便密码不等于用户名?
更新
我想做的设置(在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属性。 无论哪种方式我很困惑,需要你的建议。如何在asp.net成员资格中将密码与用户名进行比较?

+0

如果你想有一个直接的答案,你必须提供一些代码来显示由正在创建帐户的机制:

这在以下的web.config块(例如)完成。 – 2012-01-09 12:12:44

回答

1

它不是一个直接的答案,但是如果您在MembershipProvider配置中针对您的密码设置了最低复杂度要求,那么应该很少有机会这样做。

<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> 
+0

但是,这样做,我不会解决我的问题.... – RollerCosta 2012-01-09 12:07:18

+0

我准备与我的正则表达式在这里它是“^(?:(?=。* [az])(?=。* [AZ])(? = * [0-9])|(= * [AZ])(= * [AZ])(= *。?。?。?。[%,.;!]?)|(= * [AZ ])(= * [0-9])(= * [%,.;:])|(= * [AZ])(= * [0-9])(?。?。!?。?。? =。* [!%,.;:]))(?i)(?!。*“+ Username +”)。+ $“;但是,如果像这样比较用户名在成员身份中起作用,我恐怕会出现这种情况 – RollerCosta 2012-01-09 12:12:52

相关问题