(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Compare une entrée avec des valeurs d'attributs
$ldap
,$dn
,$attribute
,$value
,$controls
= null
Sert à comparer la valeur value
de l'attribut
attribute
à la valeur du même attribut de l'entrée
dn
.
ldap
Une instance LDAP\Connection, retourné par ldap_connect().
dn
Le DN de l'entrée LDAP.
attribute
Le nom de l'attribut.
value
La valeur comparée.
controls
Tableau de Contrôles LDAP à envoyer avec la requête.
Retourne true
si la valeur value
correspond, sinon,
retourne false
. Retourne -1 si une erreur survient.
Version | Description |
---|---|
8.1.0 |
Le paramètre ldap attend désormais une instance de
LDAP\Connection ; auparavant, une ressource ldap link était attendue.
|
8.0.0 |
controls est désormais nullable ; auparavant, sa valeur par défaut était [] .
|
7.3.0 |
Support pour controls a été ajouté.
|
L'exemple suivant montre comment vérifier que deux mots de passe correspondent, dont l'un est celui d'une entrée du serveur LDAP.
Exemple #1 Exemple complet de vérification de mot de passe avec lDAP
<?php
$ds=ldap_connect("localhost"); // doit être un serveur LDAP valide!
if ($ds) {
// Authentification
if (ldap_bind($ds)) {
// Préparation des données
$dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
$value = "secretpassword";
$attr = "password";
// Comparaison des valeurs
$r=ldap_compare($ds, $dn, $attr, $value);
if ($r === -1) {
echo "Error: " . ldap_error($ds);
} elseif ($r === true) {
echo "Password correct.";
} elseif ($r === false) {
echo "Mal choisi ! Mot de passe incorrect !";
}
} else {
echo "Impossible de se connecter au serveur LDAP.";
}
ldap_close($ds);
} else {
echo "Impossible de se connecter au serveur LDAP.";
}
?>
ldap_compare() ne peut PAS être utilisé pour comparer des valeurs binaires !