(PHP 7 >= 7.2.0, PHP 8)
ldap_exop_passwd — Les aides de l'opération étendue PASSWD
$ldap,$user = "",$old_password = "",$new_password = "",&$controls = nullEffectue une opération étendue PASSWD.
ldapUne instance LDAP\Connection, retourné par ldap_connect().
userLe dn de l'utilisateur pour changer le mot de passe.
old_passwordL'ancien mot de passe de cet utilisateur. Peut être omis en fonction de la configuration du serveur.
new_passwordLe nouveau mot de passe pour cet utilisateur. Peut être omis ou vide pour avoir un mot de passe généré.
controlsSi 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.
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.
| 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é
|
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";
}
?>