(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.
$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.
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.
Gibt TRUE
zurück, wenn value
übereinstimmt, andernfalls
wird FALSE
zurückgegeben. Im Fehlerfall wird -1 zurückgegeben.
Version | Beschreibung |
---|---|
7.3 |
Unterstützung für serverctrls hinzugefügt.
|
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.";
}
?>
ldap_compare() kann NICHT für Vergleiche von BINÄREN Werten benutzt werden!