Les aides de l'opération étendue PASSWD

# ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwd — Les aides de l'opération étendue PASSWD

### Description

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

Effectue une opération étendue PASSWD.

### Liste de paramètres

`ldap`

  Une instance LDAP\Connection, retourné par ldap_connect().

`user`

  Le dn de l'utilisateur pour changer le mot de passe.

`old_password`
  L'ancien mot de passe de cet utilisateur. Peut être omis en fonction de la configuration du serveur.
`new_password`

  Le nouveau mot de passe pour cet utilisateur. Peut être omis ou vide pour avoir un mot de passe généré.

`controls`

  Si fourni, un contrôle de demande de politique de mot de passe est envoyé avec la requête et ceci est rempli avec un tableau de Contrôles LDAP retournés avec la requête.

### Valeurs de retour

Renvoie le mot de passe généré si `new_password` est vide ou omis. Sinon renvoie `true` en cas de succès et `false` en cas d'échec.

### Historique

Version | Description
--- | ---
8.1.0 | Le paramètre `ldap` attend désormais une instance de LDAP\Connection ; auparavant, une resource `ldap link` était attendue.
8.0.0 | `controls` est désormais nullable ; auparavant, sa valeur par défaut était `[]`.
7.3.0 | Le support pour `controls` a été ajouté

### Exemples

Exemple #1 Opération étendue de PASSWD

    <?php
    $ds = ldap_connect("localhost");  // en supposant que le serveur LDAP est sur cet hôte
    if ($ds) {
        // affecter le bon dn pour donner l'accès de mise à jour
        $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
        if (!$bind) {
          echo "Unable to bind to LDAP server";
          exit;
        }
        // utiliser PASSWD EXOP pour changer le mot de passe de l'utilisateur pour un généré
        $genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
        if ($genpw) {
          // utiliser le mot de passe généré pour lier
          $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
        }
        // redéfinit le mot de passe à "secret"
        ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");
        ldap_close($ds);
    } else {
        echo "Unable to connect to LDAP server";
    }
    ?>

### Voir aussi

- ldap_exop() - Effectue une opération étendue
- ldap_parse_exop() - Analyse un objet de résultat d'une opération étendue LDAP

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