ldap_compare
(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Vergleicht den Wert eines Merkmals mit dem eines Eintrags
Beschreibung
ldap_compare
( resource $ldap
, string $dn
, string $attribute
, string $value
, array|null $controls
= null
) : bool|int
Parameter-Liste
-
ldap
-
Eine LDAP-Verbindungskennung, geliefert von
ldap_connect().
-
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!