2012-01-11 2 views
1

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

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

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

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

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

ответ

0

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

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

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

+0

См. Http://meta.stackexchange.com/questions/118827 –