ldap_compare
(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Vergleicht den Wert eines Merkmals mit dem eines Eintrags
Parameter-Liste
ldap
-
Eine LDAP\ConnectionInstanz, die von ldap_connect() zurückgegeben wurde.
dn
-
Der Distinguished Name eines LDAP-Datenobjekts.
attribute
-
Der Name des Merkmals.
value
-
Der zu vergleichende Wert.
controls
-
Ein Array von LDAP-Steuerbefehlen,
die mit der Anfrage versendet werden sollen.
Rückgabewerte
Gibt true zurück, wenn value übereinstimmt, falls
nicht, wird false zurückgegeben. Im Fehlerfall wird -1 zurückgegeben.
Beispiele
Das folgende Beispiel zeigt, wie überprüft wird, ob ein gegebenes Kennwort
mit dem Kennwort übereinstimmt, das in dem durch DN bestimmten Eintrag
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) {
// Anmelden
if(ldap_bind($ds)) {
// Daten vobereiten
$dn = "cn=Matti Meikku, ou=Meine Einheit, o=Meine Firma, c=FI";
$value = "Geheimes Kennwort";
$attr = "kennwort";
// Werte vergleichen
$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 verwendet werden!