Vra

So Die direkte projek stakings weer. Ek is geen kundige in LDAP nie, maar ek probeer om 'n toetsomgewing op te stel, aangesien die standaard enige pakket benodig om sertifikate van LDAP sowel as DNS -sertifikaat te ondersteun, ongeag watter metode deur die pakket geïmplementeer word.

Volgens die dokumentasie, die voorgeskrewe volgorde van gebeure (afgewerk vir relevansie) uit afdeling "3.3.3 LDAP -navraag":

* 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

Ek probeer hierdie proses in PHP implementeer deur die LDAP_* -funksies te gebruik, maar dit lyk nie of hul manier werk nie. Dit is duidelik dat NULL nie dieselfde is as 'n leë string nie (laasgenoemde maak enige oproep na LDAP_Search 'n "geen sodanige voorwerp" -fout terug), en "DN" is nie 'n geldige waarde vir 'n ObjectClass -attribuut nie.

Dus, TL; DR, is daar 'n ander manier waarop 'n anonieme gebruiker die (lys?) Basis -DN's ophaal wat ek mis?

Opdatering: het die titel herformuleer om die oorsaak van my probleem te weerspieël: die lees van die rootdse van php wanneer die ldap_* API nie toelaat om 'basis' -omvang te spesifiseer nie.

Was dit nuttig?

Oplossing

Dus het 'n ander gelees deur die dokumente my vraag vir my beantwoord.

Blykbaar is die enigste verskil tussen ldap_search (), ldap_list () en ldap_read () die bestek (ldap_scope_subtree (sub), ldap_scope_onelevel (een), en ldap_scope_base (basis), onderskeidelik. Die gebruik van LDAP_READ () in plaas van die ander sal die een in staat stel om die wortelds te kry.

Ander wenke

In die wortel DSE. Sien "NamingContexts".

Opdateer:

In Java:

LDAPConnection conn = new LDAPConnection(hostname,port);
SearchRequest req = new SearchRequest("",SearchScope.BASE,"(&)","+");
SearchResult result = conn.search(req);

// If the search succeeds, the result will comprise one entry,
// and that entry is the Root DSE:

dn: 
subschemaSubentry: cn=schema
namingContexts: C=us
vendorName: UnboundID Corp.
vendorVersion: UnboundID Directory Server 4.1.0.6
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top