PHP 8.4.2 Released!

ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwdLes 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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top