Question

Alors Le projet direct frappe encore. Je ne suis pas un expert en LDAP, mais j'essaie de configurer un environnement de test, car la norme nécessite un package pour prendre en charge l'obtention de certificats de LDAP ainsi que du certificat DNS, quelle que soit la méthode implémentée par le package.

Selon La documentation, la séquence prescrite des événements (coupé pour la pertinence) de la section "3.3.3 requête 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

J'essaie d'implémenter ce processus dans PHP, en utilisant les fonctions LDAP_ *, mais leur chemin ne semble pas fonctionner. De toute évidence, Null n'est pas la même chose qu'une chaîne vide (ce dernier fait un appel à LDAP_SEARCH renvoie une erreur "pas d'objet" de ce type "), et" DN "n'est pas une valeur valide pour un attribut objectClass.

Donc, TL; DR, y a-t-il un autre moyen qu'un utilisateur distant anonyme récupère la (liste de?) DNS de base qui me manque?

MISE À JOUR: Reformulé le titre pour refléter la cause profonde de mon problème: la lecture du rootdse à partir de PHP lorsque l'API LDAP_ * ne vous permet pas de spécifier la portée «Base».

Était-ce utile?

La solution

Ainsi, une autre lecture des documents a répondu à ma question pour moi.

Apparemment, la seule différence entre ldap_search (), ldap_list () et ldap_read () sont les Scopes (ldap_scope_subtree (sub), ldap_scope_onelevel (un) et ldap_scope_base (base), respectivement). Ainsi, l'utilisation de ldap_read () au lieu des autres permettra à l'une d'obtenir le rootdse.

Autres conseils

Dans le root dse. Voir "NamingContexts".

Mise à jour:

En 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top