ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare -- Compare une entrée avec des valeurs d'attributs

Description

bool ldap_compare ( resource link_identifier, string dn, string attribute, string value )

ldap_compare() retourne TRUE si value correspond et, sinon, FALSE. ldap_compare() retourne -1 en cas d'erreur.

ldap_compare() sert à comparer la valeur value de l'attribut attribute à la valeur du même attribut de l'entrée dn.

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) {

    
// identification
    
if (ldap_bind($ds)) {

        
// preparation des données
        
$dn = "cn=Matti Meikku, ou=Mon Service, o=Ma Compagnie, c=FR";
        
$value = "secretpassword";
        
$attr = "password";

        
// comparaison des valeurs
        
$r=ldap_compare($ds, $dn, $attr, $value);

        if (
$r === -1) {
            echo
"Erreur : ".ldap_error($ds);
        } elseif (
$r === TRUE) {
            echo
"Mot de passe 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.";
}
?>

Avertissement

ldap_compare() ne peut PAS être utilisé pour comparer des valeurs binaires!

Note : ldap_compare() a été ajoutée en 4.0.2.