# ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

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

### Description

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