Как сравнить пароль с именем пользователя в членстве asp.net? - PullRequest
0 голосов
/ 09 января 2012

Как можно сравнить введенный пароль с введенным именем пользователя перед созданием нового пользователя в 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 + ").+$";Но я боюсь, что, сравнивая UserName как это, я буду работать в членстве или нет.Во-вторых, я собираюсь украсить Password свойство класса RegisterModel в AccountModel с помощью некоторой пользовательской проверки.в любом случае я запутался и мне нужно твое предложение.

1 Ответ

1 голос
/ 09 января 2012

Это не прямой ответ, но если вы зададите минимальные требования к сложности в отношении ваших паролей в конфигурации 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>
...