Сброс пароля LDAP не относится к атрибуту pwdhistory
Я использую Java - API клиента каталога Apache для доступа к серверу Apache DS Ldap с помощью ldapConnectionTemplate.
Я пытаюсь реализовать функцию, которая позволяет пользователю сбросить / изменить пароль. Моя политика паролей имеет значение атрибута истории паролей 5. Поэтому пользователь не сможет использовать ни один из предыдущих 5 паролей.
Когда я использую метод modifyPassword для изменения пароля (т. Е. Как пользователь, передавая текущий и новый пароль), он учитывает политику истории паролей. т.е. я не могу использовать любой из предыдущих 5 паролей и получить исключение пароля, как и ожидалось. Но при использовании параметра сброса (т. Е. Только новый пароль) он не учитывает политику паролей. Он принимает любое значение (включая текущее) и обновляет пароль.
Как заставить сценарий сброса пароля соблюдать политику истории паролей? Любые идеи, предложения и решения приветствуются.
1 ответ
Я не верю, что поведение, которое вы желаете, указано где-либо.
Идея "сброса" в том смысле, который вы имеете в виду, заключается в том, что администратор устанавливает для него что-то известное, сообщает пользователю, что это такое, и pwdReset
Атрибут имеет значение TRUE, поэтому пользователь вынужден немедленно изменить его при следующем входе в систему - что вы должны принудительно применить, используя PasswordPolicy
запросить контроль и проверку любого PasswordPolicyResponse
за CHANGE_AFTER_RESET
,
Нет особой причины, по которой администратор должен быть ограничен pwdHistory
и, в любом случае, пользователь все равно будет вынужден снова сменить пароль, когда он будет ограничен pwdHistory
,