Pergunta

Então O projeto direto ataca novamente. Não sou especialista em LDAP, mas estou tentando configurar um ambiente de teste, pois o padrão exige que qualquer pacote suporte a obtenção de certificados do Cert LDAP e DNS, independentemente de qual método seja implementado pelo pacote.

De acordo com a documentação, a sequência prescrita de eventos (aparada para relevância) da seção "3.3.3 LDAP Query":

* 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

Estou tentando implementar esse processo no PHP, usando as funções LDAP_*, mas o caminho deles parece não funcionar. Obviamente, o NULL não é o mesmo que uma string vazia (a última faz qualquer chamada para ldap_search retornar um erro "não esse objeto"), e "DN" não é um valor válido para um atributo ObjectClass.

Então, tl; dr, existe outra maneira de um usuário remoto anônimo recuperar a (lista?) DNS base que estou perdendo?

Atualização: reformulou o título para refletir a causa raiz do meu problema: lendo o rootdse do php quando a API LDAP_* não permite que você especifique o escopo 'base'.

Foi útil?

Solução

Então, outra leitura dos documentos respondeu minha pergunta para mim.

Aparentemente, a única diferença entre ldap_search (), ldap_list () e ldap_read () são os escopos (ldap_scope_subtree (sub), ldap_scope_onelevel (um) e ldap_scope_base (base), respectivamente). Portanto, o uso de ldap_read () em vez dos outros permitirá que se obtenha o rootdse.

Outras dicas

No raiz dse. Veja "NamingContexts".

Atualizar:

Em 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top