Domanda

Così Il progetto diretto Colpisce ancora. Non sono un esperto di LDAP, ma sto cercando di impostare un ambiente di test poiché lo standard richiede qualsiasi pacchetto per supportare la ricezione di certificati da LDAP e DNS CART, indipendentemente dal metodo implementato dal pacchetto.

Secondo la documentazione, La sequenza prescritta di eventi (tagliata per rilevanza) dalla sezione "3.3.3 query LDAP":

* 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

Sto cercando di implementare questo processo in PHP, usando le funzioni LDAP_*, ma la loro strada non sembra funzionare. Ovviamente, NULL non è uguale a una stringa vuota (quest'ultima fa una chiamata a LDAP_Search Restituisce un errore "nessun oggetto tale") e "DN" non è un valore valido per un attributo ObjectClass.

Quindi, tl; dr, esiste un altro modo in cui un utente remoto anonimo recupera l'elenco (elenco di?) DN di base che mi manca?

Aggiornamento: riformulare il titolo per riflettere la causa principale del mio problema: leggere il rootdse da PHP quando l'API LDAP_* non consente di specificare l'ambito di "base".

È stato utile?

Soluzione

Quindi un altro ha letto i dottori ha risposto alla mia domanda per me.

Apparentemente, l'unica differenza tra ldap_search (), ldap_list () e ldap_read () sono gli ambiti (ldap_scope_subtree (sub), ldap_scope_onelevel (uno) e ldap_scope_base (base), rispettivamente). Quindi usando ldap_read () invece degli altri permetterà a uno di ottenere il rootdse.

Altri suggerimenti

Nel radice dse. Vedi "NamingContexts".

Aggiornare:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top