Как можно протестировать, если AD пароль будет отвечать настроенным требованиям сложности?

В сетевых 3,5 приложениях до-диеза я должен знать заранее, будет ли AD пароль отвечать настроенным требованиям сложности.
Как можно сделать это?

11
задан Tim Cooper 25 September 2011 в 01:32
поделиться

2 ответа

Эти ссылки могут направить вас на правильный путь:

Изменить пароль пользователя в ADS и проверить политику паролей домена (C#)?

User Management with Active Directory-Managing Passwords for ADAM Users

Determining Domain-Wide Account Policies (здесь, похоже, есть то, что вам нужно)

3
ответ дан 3 December 2019 в 11:20
поделиться

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

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

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

Похожие вопросы: