Autenticação LDAP do Apache: Posso vincular o usuário sem pesquisar primeiro pelo DN?

2

Ao fazer a autenticação AuthType Basic em um servidor LDAP, o Apache primeiro se vincula para procurar o DN do usuário e, em seguida, vincula-se a esse DN para testar a senha do usuário. O desafio é que, com o AD, você normalmente não pode executar uma ligação anônima. Então, você tem que definir AuthLDAPBindDN .

Mas, eu digo, eu já conheço o DN! Eu não tenho que bind-search-bind, eu posso apenas ligar como cn=_username_,OU=Employees,DC=megacorp,DC=com !

Isso não parece ser possível, mas pensei em perguntar: posso convencer o Apache a pular o bind-and-search-for-DN-to-use-for-bind simplesmente construindo um DN na hora , ou eu tenho que falar com a burocracia local para uma conta especial com a qual eu posso ligar para procurar o usuário que eu gostaria de autenticar?

Obrigado!

-danny

    
por dannyman 08.03.2011 / 03:30

3 respostas

1

Infelizmente, parece que o mod_auth_ldap insiste em criar e executar uma pesquisa em vez de apenas tentar a ligação com um DN que você forneceu. É na maioria, na minha experiência; a maioria dos aplicativos que acessam o Active Directory por meio do ldap (em oposição a, digamos, usar as APIs nativas do usuário do NT) preferem pesquisar e vincular em vez de apenas tentar ligar.

No lado positivo (se você pode chamá-lo assim), uma conta de usuário sem direitos de qualquer tipo deve satisfazer suas necessidades, desde que não haja nada agitado acontecendo em termos de permissões em sua árvore ldap; A participação em Usuários Autenticados deve ser suficiente para fazer tudo o que o usuário de pesquisa precisa fazer. Pode até mesmo ser removido dos usuários do domínio e atribuído a um grupo primário diferente; que deve suavizar um pouco a burocracia local.

    
por 08.03.2011 / 03:44
1

Na verdade, as opções no Apache 2.3 parecem ser AuthLDAPInitialBindAsUser e AuthLDAPInitialBindPattern.

O AuthLDAPCompareAsUser e o AuthLDAPSearchAsUser estão um pouco relacionados, mas parece que eles só entram em vigor após a ligação inicial ter ocorrido.

Eu realmente não tentei (já que eu não tenho o apache 2.3 instalado em qualquer lugar, pelo menos não ainda) mas eu acho que a configuração que você precisa é algo assim:

AuthLDAPInitialBindAsUser  on
AuthLDAPInitialBindPattern (.+) cn=$1,OU=Employees,DC=megacorp,DC=com
    
por 28.07.2011 / 22:51
1

O Apache 2.3.6 e posterior suporta AuthLDAPCompareAsUser , o que você provavelmente está procurando.

link

Esta ramificação é beta e pode ainda não ser facilmente acessível para o seu SO.

    
por 03.06.2011 / 14:39