Autenticação do Apache e do Active Directory

1

Estou tendo problemas com a autenticação LDAP no Apache 2.2. Aqui está o trecho do httpd.conf

<Location /folder>
   AuthType Basic
   AuthName "Project"
   AuthBasicProvider ldap
   AuthLDAPBindDN "user@domain"
   AuthLDAPBindPassword "my_password"
   AuthLDAPURL "ldap://my_domain_controller/?samAccountName?sub?(objectClass=user)"
   Require valid-user
</Location>

Eu continuo recebendo "ldap_search_ext_s () para o usuário falhou" em error.log. Eu tentei usar meu DN entre aspas como AuthLDAPBindDN, mas os resultados foram os mesmos. Qual poderia ser o problema?

    
por synapse 13.10.2010 / 18:38

1 resposta

1

Quando eu tive esse problema, aparentemente era porque o Active Directory estava retornando referências, e as bibliotecas openldap não conseguiam lidar. Duas soluções diferentes funcionam para mim; Eu prefiro o segundo. Primeira solução: em /etc/openldap/ldap.conf coloque a linha

REFERRALS no

Isso, obviamente, pressupõe que você esteja usando as bibliotecas openldap; Eu não tenho experiência recente com nenhum outro.

Segunda solução: o serviço de Catálogo Global do Active Directory não gera referências, então aponte seu ldap para sua porta em vez da porta normal (claro, você precisará estar conversando com um servidor de Catálogo Global; para encontrá-los, procure na saída de "dig -t srv _gc._tcp.domain", onde "domain" é o seu domínio). A porta para o catálogo global é 3268, então

AuthLDAPURL "ldap://my_domain_controller:3268/?samAccountName?sub?(objectClass=user)"
    
por 23.12.2010 / 21:39