Членство в asp.net как ограничить свойство пароля при создании нового пользователя / смене пароля? - PullRequest
1 голос
/ 10 января 2012

Я хочу ограничить надежность пароля с помощью нижеуказанных свойств :: Надежность пароля:

  • 1.Содержит символы из трех из следующих четырех категорий:

Английский верхний регистрсимволы (от A до Z)Английские строчные буквы (от a до z)Базовые 10 цифр (от 0 до 9)Не алфавитные символы (например,!, $, #,%)

  • 2. пароль Не содержит имя учетной записи пользователя

Я легко могу выполнить первое условие, предоставив регулярное выражение для атрибута PasswordStrengthRegularExpression в файле web.config в разделе членстваНо проблема со вторым (пароль не содержит имя учетной записи пользователя), что я должен сделать, чтобы добиться этого.

1 Ответ

0 голосов
/ 10 января 2012

Проверьте страницу, на которую я ссылаюсь в следующем сообщении.

По сути, вы пишете свою собственную Dataannotation, так что вы сможете изменить ее, чтобы увидеть, содержит ли пароль имя пользователя вместо того, чтобы совпадать с именем пользователя.

Напротив [сравнить ("")] аннотацию данных в .net?

Я только что понял, что вы также опубликовали этот вопрос.

Таким образом, вы должны изменить имя класса в посте на что-то вроде "CanNotContainAttribute" а затем также измените на то же имя для конструктора.

В методе IsValid вы должны проверить, содержит ли одна строка другую, т. Е. Если пароль содержит имя пользователя, где здесь имя пользователя называется 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

...