So Das direkte Projekt schlägt wieder zu. Ich bin kein Experte für LDAP, aber ich versuche, eine Testumgebung einzurichten, da für das Standard ein Paket erfordert, um zu unterstützen, Zertifikate von LDAP sowie DNS -CERT zu erhalten, unabhängig davon, welche Methode vom Paket implementiert wird.
Entsprechend die Dokumentation, Die vorgeschriebene Abfolge von Ereignissen (zur Relevanz begegnung) aus Abschnitt "3.3.3 LDAP -Abfrage":
* Discover the Base DNs
Branches in LDAP must be defined by a “Base DN”. The list of Base DNs that are
provided by a LDAP directory are found by doing a LDAP Query with a NULL (i.e.
“”) Base DN, and ObjectClass=”DN”.
* Query across the Base DN for entries where "Mail" contains the endpoint address
Ich versuche, diesen Prozess in PHP zu implementieren, indem ich die Funktionen ldap_* verwendete, aber ihr Weg scheint nicht zu funktionieren. Offensichtlich ist Null nicht mit einer leeren Zeichenfolge dieselbe (letzteres macht einen Aufruf von LDAP_SEARKing zurück, ein "kein solches Objekt" -Fehler zurückzugeben), und "DN" ist kein gültiger Wert für ein ObjectClass -Attribut.
Also, tl; dr, gibt es einen anderen Weg, wie ein anonymer Remote -Benutzer die (Liste der?) Basis -DNs abzurufen, die ich fehlt?
UPDATE: Umformulierte den Titel neu, um die Ursache meines Problems zu widerspiegeln: Lesen Sie die RootDSE von PHP, wenn die LDAP_* -API Sie nicht erlauben, den Bereich "Basis" anzugeben.