Heim >Backend-Entwicklung >PHP-Tutorial >So erhalten Sie LDAP-Server-Schemadaten in PHP
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!