ldap_compare
(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Compare une entrée avec des valeurs d'attributs
Description
ldap_compare(
resource $ldap
,
string $dn
,
string $attribute
,
string $value
,
array|null $controls
= null
): bool|int
Liste de paramètres
-
ldap
-
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.
-
controls
-
Tableau de Contrôles LDAP à envoyer avec la requête.
Valeurs de retour
Retourne true
si la valeur value
correspond, sinon,
retourne false
. Retourne -1 si une erreur survient.
Exemples
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.";
}
?>
Notes
Avertissement
ldap_compare() ne peut PAS être utilisé pour comparer des
valeurs binaires !