(PHP 7 >= 7.2.0, PHP 8)
ldap_exop — Führt eine erweiterte LDAP-Operation aus
$ldap,$request_oid,$request_data = null,$controls = null,&$response_data = ?,&$response_oid = ?
Führt eine erweiterte Operation auf der angegebenen
ldap-Verbindung aus, wobei request_oid
die OID der Operation enthält und request_data
die Daten.
Die Verwendung von mehr als 4 Parametern ist veraltet. Stattdessen sollte ldap_exop_sync() verwendet werden.
ldapEine LDAP\ConnectionInstanz, die von ldap_connect() zurückgegeben wurde.
request_oid
Die OID der erweiterten Operation. Es kann eine der
LDAP_EXOP_*-Konstanten
oder ein String mit der OID der Operation sein.
request_data
Die Daten der Anfrage zur erweiterten Operation. Bei einigen Operationen
wie LDAP_EXOP_WHO_AM_I kann dieser Parameter
null sein; gegebenenfalls müssen die Daten
BER-kodiert vorliegen.
controlsEin Array von LDAP-Controls, das mit der Anfrage gesendet wird.
response_dataWird, falls angegeben, mit den Antwortdaten der erweiterten Operation befüllt. Andernfalls kann ldap_parse_exop() später auf dem Ergebnisobjekt aufgerufen werden, um diese Daten zu erhalten.
response_oidWird, falls angegeben, mit der Antwort-OID befüllt, die in der Regel der Anfrage-OID entspricht.
Wird der Parameter response_data verwendet, gibt die
Funktion bei Erfolg true und im Fehlerfall false zurück.
Wird er nicht verwendet, gibt sie eine Ergebniskennung oder im Fehlerfall
false zurück.
| Version | Beschreibung |
|---|---|
| 8.4.0 | Die Verwendung von mehr als 4 Parametern ist veraltet. Stattdessen sollte ldap_exop_sync() verwendet werden. |
| 8.1.0 |
Der Parameter ldap erwartet nun eine LDAP\Connection-Instanz;
vorher wurde eine gültige ldap link-Ressource erwartet.
|
| 7.3.0 |
Unterstützung für controls hinzugefügt.
|
Beispiel #1 Whoami-Erweiterungsoperation
<?php
$ds = ldap_connect("localhost"); // Es wird angenommen, dass der LDAP-Server auf diesem Host läuft
if ($ds) {
// Mit einem geeigneten DN binden, das Schreibrechte besitzt
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Unable to bind to LDAP server";
exit;
}
// WHOAMI-EXOP aufrufen
$r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);
// Das Ergebnisobjekt auswerten
ldap_parse_exop($ds, $r, $retdata);
// Ausgabe: string(31) "dn:cn=root, o=My Company, c=US"
var_dump($retdata);
// Dasselbe mit dem $response_data-Parameter
$success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid);
if ($success) {
var_dump($retdata);
}
ldap_close($ds);
} else {
echo "Unable to connect to LDAP server";
}
?>