В приложении net 3.5 csharp мне нужно знать заранее, если пароль AD будет соответствовать установленным требованиям сложности.
Как вы можете это сделать?
Как вы можете проверить, будет ли пароль AD соответствовать установленным требованиям сложности?
Ответ 1
Эти ссылки могут указывать на правильный трек:
Изменить пароль пользователя в ADS и проверить политику паролей домена (С#)?
Управление пользователями с помощью Active Directory - Управление паролями для пользователей ADAM
Определение политики учетной записи домена (у этого, похоже, есть то, что вам нужно)
Ответ 2
Если вы хотите получить требования от AD, тогда ссылки в ответе @Leniel Macaferi должны помочь.
Если вы уже знаете ожидаемые требования и ваше приложение принимает предложенный пароль в виде строки, вы можете сами провести тесты. Некоторые общие требования и способы их расчета включают в себя:
- Минимальная длина: легко проверить длину строки
- Сложность: общие требования будут "по крайней мере три из этого списка: строчные, прописные, цифры, символы", поэтому вы хотите создать счетчик, затем используйте регулярное выражение для проверки, если каждое условие соответствует и увеличивает счетчик для каждого из них. Так, например, ваши регулярные выражения будут выглядеть как
[a-z]
,[a-z]
,[0-9]
,[[email protected]#$%^&*()-_\+=<,>\.\?\/]
; для каждого, который соответствует, добавьте 1 к своему счетчику. Если счетчик на конце меньше ваших требований, пароль терпит неудачу. (Вы даже можете быть очень приятными для пользователя и предлагать одну из категорий, которые они пропустили, если вы сохранили логические переменные для категорий, которые они использовали и не использовали.) - Легкие догадки. Вы можете создать свой собственный тест равенства, чтобы убедиться, что пользователь не выбирает пароль, соответствующий их имени пользователя или другим запрещенным паролям.
- Недавно использованные пароли: Um, это не так просто... вы не можете понять это без помощи Active Directory.