Forum und email

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.

Example#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

Warning

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