Как проверить, соответствует ли пароль AD настроенным требованиям сложности? - PullRequest
11 голосов
/ 12 июля 2010

В приложении net 3.5 csharp мне нужно заранее знать, будет ли пароль AD соответствовать настроенным требованиям сложности.
Как ты можешь это сделать?

Ответы [ 2 ]

3 голосов
/ 12 июля 2010

Если вы хотите получить требования из AD, то ссылки в ответе @Leniel Macaferi должны помочь.

Если вы уже знаете ожидаемые требования и ваше приложение принимает предложенный пароль в виде строки, выможете сделать тесты самостоятельно.Некоторые общие требования и способы их расчета включают:

  • Минимальная длина : легко проверить длину строки
  • Сложность : общие требования будут «как минимум три из этого списка: строчные, прописные, цифры, символы», поэтому вы хотите создать счетчик, а затем использовать регулярное выражение, чтобы проверить, соответствует ли каждое условие, и увеличить счетчик для каждого.Так, например, ваши регулярные выражения будут выглядеть так: [a-z], [A-Z], [0-9], [~!@#$%^&*()-_\+=<,>\.\?\/];для каждого, который соответствует, добавьте 1 к своему счетчику.Если количество в конце меньше, чем ваши требования, пароль не удастся.(Вы могли бы даже быть очень любезны с пользователем и предложить одну из пропущенных им категорий, если бы вы сохранили логические переменные для категорий, которые они использовали и не использовали.)
  • Простые догадки : Вы можете создать свой собственный тест на равенство, чтобы убедиться, что пользователь не выбирает пароль, который соответствует его имени пользователя или другим запрещенным паролям.
  • Недавно использованные пароли : Хм, этот неэто не так просто ... вы не можете понять это без помощи Active Directory.
...