Изменение пароля пользователя php ldap ldap_modify ldap_mod_replace - PullRequest
2 голосов
/ 11 января 2012

Какую функцию я должен использовать, когда пользователь хочет изменить свой пароль в активной директории, используя php?

Они будут привязываться к серверу с помощью своего текущего имени пользователя и пароля, а затем вводить новый пароль длявнесите это изменение.

Я использовал ldap_mod_replace раньше, но мне пришлось использовать учетную запись AD с более высокими привилегиями, чтобы заменить их пароль новым.

Я также попытался ldap_modify, но он сказал, чтоУ пользователя неверные учетные данные, даже если имя пользователя и пароль связаны.

* Новые пароли закодированы правильно.

1 Ответ

1 голос
/ 12 января 2012

Пароли изменяются через LDAP одним из двух способов:

  • передавать запрос на изменение на сервер
  • передавать расширенный запрос на изменение пароля на сервер (требуется текущий пароль)

Запрос на изменение имеет следующие параметры: различающееся имя для изменения и список изменений.Единственное соединение, которое запрос на изменение имеет к текущему состоянию аутентификации соединения, - это разрешение выдавать запрос на изменение серверу (современные серверы каталогов профессионального качества могут запрещать операции по состоянию аутентификации соединения) и является ли состояние аутентификацииразрешено изменять запись, идентифицированную отличительным именем (которое может отличаться от состояния аутентификации).запросы на изменение не приводят к «неверным учетным данным», только запросы на привязку (которые устанавливают состояние аутентификации соединения) могут привести к «недействительным учетным данным».Если состоянию аутентификации не разрешено изменять свой собственный пароль, то должно использоваться состояние аутентификации с этими разрешениями.

...