(PHP 4 >= 4.0.2, PHP 5)
ldap_compare — Compare une entrée avec des valeurs d'attributs
Sert à comparer la valeur value
de l'attribut
attribute
à la valeur du même attribut de l'entrée
dn
.
link_identifier
Un identifiant de lien LDAP, retourné par la fonction ldap_connect().
dn
Le DN de l'entrée LDAP.
attribute
Le nom de l'attribut.
value
La valeur comparée.
Retourne TRUE
si la valeur value
correspond, sinon,
retourne FALSE
. Retourne -1 si une erreur survient.
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 !