(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 .
Un identifiant de lien LDAP, retourné par la fonction ldap_connect() .
Le DN de l'entrée LDAP.
Le nom de l'attribut.
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 1265. 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 !