ldap_compare

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_compareCompare une entrée avec des valeurs d'attributs

Description

ldap_compare(
    LDAP\Connection$ldap,
    string$dn,
    string$attribute,
    string$value,
    ?array$controls = null
): bool|int

Sert à comparer la valeur value de l'attribut attribute à la valeur du même attribut de l'entrée dn.

Liste de paramètres

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.

Valeurs de retour

Retourne true si la valeur value correspond, sinon, retourne false. Retourne -1 si une erreur survient.

Historique

VersionDescription
8.1.0 Le paramètre ldap attend désormais une instance de LDAP\Connection ; auparavant, une ressourceldap link était attendue.
8.0.0controls est désormais nullable ; auparavant, sa valeur par défaut était [].
7.3.0 Support pour controls a été ajouté.

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 !

To Top