ldap_compare

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

ldap_compare Vergleicht gefundenen Wert eines Merkmals in einem Eintrag, der durch Angabe von dn bestimmt wird.

Beschreibung

ldap_compare ( resource $link_identifier , string $dn , string $attribute , string $value [, array $serverctrls = array() ] ) : mixed

Vergleiche den Wert (value) des Merkmals (attribute) mit dem Wer des selben Merkmals in einem LDAP-Verzeichniseintrag.

Parameter-Liste

link_identifier

Eine LDAP-Verbindungskennung, geliefert von ldap_connect().

dn

Der Distinguished Name eines LDAP-Datenobjekt.

attribute

Der Name des Merkmals.

value

Der zu vergleichende Wert.

serverctrls

Array von LDAP-Steuerbefehlen, die mit der Anfrage versendet werden sollen.

Rückgabewerte

Gibt TRUE zurück, wenn value übereinstimmt, andernfalls wird FALSE zurückgegeben. Im Fehlerfall wird -1 zurückgegeben.

Changelog

Version Beschreibung
7.3 Unterstützung für serverctrls hinzugefügt.

Beispiele

Das folgende Beispiel zeigt, wie überprüft wird, ob ein gegebenes Kennwort mit dem Kennwort übereinstimmt, das in dem durch DN bestimmten Eíntrag gespeichert ist.

Beispiel #1 Komplettes Beispiel einer Kennwort-Überprüfung

<?php

$ds
=ldap_connect("localhost");  // Annahme: der LDAP Server befindet
                                // sich auf diesem Host

if ($ds) {

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

        
// Daten vobereiten
        
$dn "cn=Matti Meikku, ou=Meine Einheit, o=Meine Firma, c=FI";
        
$value "Geheimes Kennwort";
        
$attr "kennwort";

        
// vergleiche die Werte
        
$r=ldap_compare($ds$dn$attr$value);

        if (
$r === -1) {
            echo 
"Fehler: ".ldap_error($ds);
        } elseif (
$r === TRUE) {
            echo 
"Kennwort korrekt.";
        } elseif (
$r === FALSE) {
            echo 
"Falsch geraten! Kennwort nicht korrekt.";
        }

    } else {
        echo 
"Keine Bindung zum LDAP Server möglich.";
    }

    
ldap_close($ds);

} else {
    echo 
"Keine Verbindung zum LDAP Server möglich.";
}
?>

Anmerkungen

Warnung

ldap_compare() kann NICHT für Vergleiche von BINÄREN Werten benutzt werden!