Heim >Backend-Entwicklung >PHP-Tutorial >So erhalten Sie LDAP-Server-Schemadaten in PHP

So erhalten Sie LDAP-Server-Schemadaten in PHP

不言
不言Original
2018-07-17 10:46:092256Durchsuche

Ich habe mich in letzter Zeit bei der Arbeit mit LDAP beschäftigt. In den offiziell empfohlenen Client-APIs können Sie leicht die API finden, die jeder Sprache entspricht, und dann mit dem LDAP-Server interagieren. Wenn ich jedoch Apache Directory Studio verwende, kann diese Software tatsächlich Schemadaten anzeigen. Nachdem ich das offizielle Dokument sorgfältig gelesen habe, habe ich immer noch keine Anweisungen zum Abfragen von Schemadaten gesehen (falls jemand relevante Anweisungen im Dokument sieht, kann er hoffentlich gehen eine Nachricht, um mich darüber zu informieren) I). Aber ich habe den in PHP geschriebenen Client phpLDAPAdmin gefunden und dann anhand seines Quellcodes herausgefunden, wie man Schemadaten abfragt.

Durch offizielle Dokumente haben wir herausgefunden, dass Schemadaten die folgenden vier Teile enthalten:

  • Syntaxen

  • Attribute

  • matching_rules

  • Objektklassen

Nehmen Sie die Abfrage von Objektklassen als Beispiel (Sie können auch alles auf einmal abfragen) , die entsprechende Abfragemethode lautet wie folgt

Der erste Fall

$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=subschema)', ['objectclasses']);
$read_ret = ldap_read($ds, 'cn=Subschema', '(objectClass=*)', ['objectclasses']);

Wenn die erste Abfrage nicht gefunden werden kann, verwenden Sie die zweite

$read_ret = ldap_read($ds, 'cn=Aggregate,cn=Schema,cn=configuration,dc=example,dc=com', '(objectClass=*)';
$read_ret = ldap_read($ds, 'cn=Schema,cn=configuration,dc=example,dc=com', '(objectClass=*)', ['objectclasses']);
$read_ret = ldap_read($ds, 'cn=Schema,ou=Admin,dc=example,dc=com', '(objectClass=*)', ['objectclasses']);

Wenn die zweite Abfrage nicht gefunden werden kann gefunden, verwenden Sie den dritten Typ von

$read_ret = ldap_read($ds, 'cn=schema,cn=config', '(objectClass=*)', ['objectclasses']);

Verwandte Empfehlungen:

Analyse der Multitask-Coroutinenverarbeitung von PHP

Das obige ist der detaillierte Inhalt vonSo erhalten Sie LDAP-Server-Schemadaten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn