ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

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

Description

mixed ldap_compare ( resource $link_identifier, string $dn, string $attribute, string $value )

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

Liste de paramètres

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.

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 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." ;
}
?>

Notes

AVERTISSEMENT

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