Asistencia para la operación extendida PASSWD

# ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwd — Asistencia para la operación extendida PASSWD

### Descripción

function ldap_exop_passwd(
LDAP\Connection `$ldap`,
string `$user` = "",
#[\SensitiveParameter]string `$old_password` = "",
#[\SensitiveParameter]string `$new_password` = "",
array `&$controls` = `null`
): string|bool

Realiza una operación extendida PASSWD.

### Parámetros

`ldap`

  Una instancia de LDAP\Connection, devuelta por ldap_connect().

`user`

  El dn del usuario para cambiar la contraseña.

`old_password`
  La contraseña antigua de este usuario. Puede omitirse según la configuración del servidor.
`new_password`

  La nueva contraseña para este usuario. Puede omitirse o estar vacía para obtener una contraseña generada.

`controls`

  Si se proporciona, un control de solicitud de política de contraseña se envía con la petición y esto se rellena con un array de Controles LDAP devueltos con la petición.

### Valores devueltos

Devuelve la contraseña generada si `new_password` está vacía u omitida. De lo contrario, devuelve `true` en caso de éxito y `false` en caso de fallo.

### Historial de cambios

Versión | Descripción
--- | ---
8.1.0 | El parámetro `ldap` ahora espera una instancia de LDAP\Connection; anteriormente, se esperaba un resource `ldap link` válido.
8.0.0 | `controls` ahora acepta `null`; anteriormente, su valor predeterminado era `[]`.
7.3.0 | Se ha añadido el soporte para `controls`

### Ejemplos

Ejemplo #1 Operación extendida de PASSWD

    <?php
    $ds = ldap_connect("localhost");  // asumiendo que el servidor LDAP está en este host
    if ($ds) {
        // asignar el dn correcto para dar acceso de actualización
        $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
        if (!$bind) {
          echo "No se puede enlazar al servidor LDAP";
          exit;
        }
        // usar PASSWD EXOP para cambiar la contraseña del usuario por una generada
        $genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
        if ($genpw) {
          // usar la contraseña generada para enlazar
          $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
        }
        // restablece la contraseña a "secret"
        ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");
        ldap_close($ds);
    } else {
        echo "No se puede conectar al servidor LDAP";
    }
    ?>

### Ver también

- ldap_exop() - Realiza una operación extendida
- ldap_parse_exop() - Analiza un objeto de resultado de una operación extendida LDAP

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open