(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
= null
Effectue une opération étendue PASSWD.
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.
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";
}
?>