ldap_exop_passwd

(PHP 7 >= 7.2.0)

ldap_exop_passwdОбертка для расширенной операции PASSWD

Описание

ldap_exop_passwd ( resource $ldap , string $user = "" , string $old_password = "" , string $new_password = "" , array &$controls = null ) : string|bool

Выполняет расширенную операцию PASSWD.

Список параметров

ldap

Идентификатор соединения LDAP, полученный из ldap_connect().

user

Уникальное имя (DN) пользователя, для которого меняется пароль.

old_password

Старый пароль. В зависимости от конфигурации может быть опущен.

new_password

Новый пароль. Может быть опущен, либо задан пустым для автогенерации пароля.

controls

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

Возвращаемые значения

Возвращает новыый пароль, если параметр new_password не задан, либо задан пустым. Иначе возвращает true или false, в зависимости от успешности выполнения.

Список изменений

Версия Описание
8.0.0 controls теперь допускает значение null; ранее значение по умолчанию было [].
7.3 Добавлена поддержка параметра controls

Примеры

Пример #1 Расширенная операция PASSWD

<?php
$ds 
ldap_connect("localhost");  // предположим, что сервер LDAP запущен локально

if ($ds) {
    
// Привязываемся к нужному DN
    
$bind ldap_bind($ds"cn=root, o=My Company, c=US""secret");
    if (!
$bind) {
      echo 
"Невозможно осуществить привязку LDAP";
      exit;
    }

    
// Используем PASSWD EXOP для смены пароля пользователя на новый случайный
    
$genpw ldap_exop_passwd($ds"cn=root, o=My Company, c=US""secret");
    if (
$genpw) {
      
// Используем для привязки новый пароль
      
$bind ldap_bind($ds"cn=root, o=My Company, c=US"$genpw);
    }

    
// Возвращаем старый пароль "secret"
    
ldap_exop_passwd($ds"cn=root, o=My Company, c=US"$genpw"secret");

    
ldap_close($ds);
} else {
    echo 
"Невозможно соединиться с сервером LDAP";
}
?>

Смотрите также

  • ldap_exop() - Выполнить расширенную операцию
  • ldap_parse_exop() - Разбор результирующего объекта выполнения расширенной операции LDAP