&reftitle.examples;
Grundlegende Nutzung Informationen von einem Verzeichnis-Server beziehen für alle Einträge bei denen der Nachname mit "S" beginnt. Darstellung eines Auszugs mit Name und Email-Adresse. LDAP Such-Beispiel LDAP query Test"; echo "Verbindung ..."; $ds=ldap_connect("localhost"); // muss ein gültiger LDAP Server // sein! echo "Ergebnis der Verbindung: ".$ds."
"; if ($ds) { echo "Bindung ..."; $r=ldap_bind($ds); // das ist ein "anonymer" bind, // typischerweise nur Lese Zugriff echo "Ergebnis der Bindung ".$r."
"; echo "Suche nach (sn=S*) ..."; // Suchen des Nachnamen-Eintrags $sr=ldap_search($ds,"o=Meine Firma, c=DE", "sn=S*"); echo "Ergebnis der Suche ".$sr."
"; echo "Anzahl gefundenen Einträge ".ldap_count_entries($ds,$sr)."
"; echo "Einträge holen ...
"; $info = ldap_get_entries($ds, $sr); echo "Daten für ".$info["count"]." Items gefunden:
"; for ($i=0; $i<$info["count"]; $i++) { echo "dn ist: ". $info[$i]["dn"] ."
"; echo "erster cn Eintrag: ". $info[$i]["cn"][0] ."
"; echo "erster email Eintrag: ". $info[$i]["mail"][0] ."

"; } echo "Verbindung schließen"; ldap_close($ds); } else { echo "

Verbindung zum LDAP Server nicht möglich

"; } ?> ]]>
LDAP-Steuerbefehle Hier sind einige Beispiele für die Verwendung von LDAP-Steuerbefehlen unter PHP >= 7.3.0. Binden mit Policy-Informationen LDAP_CONTROL_PASSWORDPOLICYREQUEST]]); if (ldap_parse_result($ds, $r, $errcode, $matcheddn, $errmsg, $referrals, $ctrls)) { if ($errcode != 0) { die("Fehler: $errmsg ($errcode)"); } if (isset($ctrls[LDAP_CONTROL_PASSWORDPOLICYRESPONSE])) { $value = $ctrls[LDAP_CONTROL_PASSWORDPOLICYRESPONSE]['value']; echo "Verfällt in: ".$value['expire']." Sekunden\n"; echo "Anzahl der verfügbaren Authentifizierungsversuche: ".$value['grace']."\n"; if (isset($value['error'])) { echo "Policy Fehlercode: ".$value['error']; } } } } else { die("Verbindung mit dem LDAP-Server nicht möglich"); } ?> ]]> Ändern der Beschreibung, falls diese nicht leer ist 'New description'], [ [ 'oid' => LDAP_CONTROL_ASSERT, 'iscritical' => TRUE, 'value' => ['filter' => '(!(description=*))'] ] ] ); // Nun ist ldap_parse_result zu verwenden ?> ]]> Lesen einiger Werte vor dem Löschen LDAP_CONTROL_PRE_READ, 'iscritical' => TRUE, 'value' => ['attrs' => ['o', 'description']] ] ] ); // Nun ist ldap_parse_result zu verwenden ?> ]]> Löschen einer Referenz LDAP_CONTROL_MANAGEDSAIT, 'iscritical' => TRUE]] ); // Nun ist ldap_parse_result zu verwenden ?> ]]> Paginierung für eine Suche verwenden LDAP_CONTROL_PAGEDRESULTS, 'value' => ['size' => 2, 'cookie' => $cookie]]] ); ldap_parse_result($link, $result, $errcode , $matcheddn , $errmsg , $referrals, $controls); // Um das Beispiel übersichtlich zu halten, wird nicht auf Fehler geprüft $entries = ldap_get_entries($link, $result); foreach ($entries as $entry) { echo "cn: ".$entry['cn'][0]."\n"; } if (isset($controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'])) { // Das Cookie des letzten Aufrufs muss an den Folgenden übergeben werden $cookie = $controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie']; } else { $cookie = ''; } // Ein leeres Cookie bedeutet die letzte Seite } while (strlen($cookie) > 0); ?> ]]>