Autenticação SVN com LDAP e Active Directory

4

Estou tendo alguns problemas para fazer com que a autenticação do SVN funcione com o LDAP / Active Directory. Minha instalação SVN funciona bem, mas depois de ativar o LDAP no meu vache apache, eu simplesmente não consigo autenticar meus usuários.

Eu posso usar uma seleção de navegadores LDAP para me conectar com sucesso ao Active Directory, mas parece que não consigo fazer isso funcionar.

  • O SVN está configurado em / var / local / svn
  • O servidor é svn.domain.local
  • Para testar, meu repositório é / var / local / svn / test

Meu arquivo vhost é o seguinte:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerAlias svn.domain.local
        ServerName svn.domain.local
        DocumentRoot /var/www/svn/

        <Location /test>
                DAV svn
                #SVNListParentPath On
                SVNPath /var/local/svn/test
                AuthzSVNAccessFile /var/local/svn/svnaccess
                AuthzLDAPAuthoritative off
                AuthType Basic
                AuthName "SVN Server"
                AuthBasicProvider ldap
                AuthLDAPBindDN "CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local"
                AuthLDAPBindPassword "admin password"
                AuthLDAPURL "ldap://192.168.1.6:389/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
                Require valid-user
        </Location>

        CustomLog /var/log/apache2/svn/access.log combined
        ErrorLog /var/log/apache2/svn/error.log
</VirtualHost>

No meu error.log, parece que não recebo nenhum erro de ligação (devo procurar em outro lugar?), mas apenas o seguinte:

[Thu Jun 21 09:51:38 2012] [error] [client 192.168.1.142] user alex: authentication failure for "/test/": Password Mismatch, referer: http://svn.domain.local/test/

No final de "AuthLDAPURL", vi pessoas usando TLS e NONE, mas nenhuma delas parece ajudar no meu caso.

Eu tenho os módulos ldap carregados e verifiquei o quanto eu sei, então qualquer ajuda seria muito bem vinda. Obrigado

    
por Alex Holsgrove 21.06.2012 / 10:59

3 respostas

3

Defina REFERRALS off no servidor /etc/ldap/ldap.conf e tente novamente.

E tente adicionar "NONE" à linha do URL:

AuthLDAPURL "ldap://192.168.1.6:389/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE

Tente o ldapsearch. Faça um .ldaprc em seu diretório inicial com isto:

HOST 192.168.1.6
BASE DC=domain,DC=local
BINDDN CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local

Use:

ldapsearch -D "CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local" -W sAMAccountName=user

Ele pedirá a senha do BindDN.

    
por 21.06.2012 / 11:42
2

Diego recebe os pontos que finalmente me levaram a trabalhar. Pode ter sido um caso de mudar a ordem dos params no meu virtualhost, mas isso é o que funcionou para mim. Também copiei o DN do usuário admin diretamente de uma ferramenta da GUI do LDAP para garantir que eu tivesse os detalhes de ligação corretos:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerAlias svn.domain.local
        ServerName svn.domain.local
        DocumentRoot /var/www/svn/

        <Location />
                DAV svn
                SVNParentPath /var/local/svn/
                SVNListParentPath On
                AuthBasicProvider ldap
                AuthType Basic
                AuthzLDAPAuthoritative off
                AuthName "SVN Server"
                AuthLDAPURL "ldap://192.168.1.6:389/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
                AUTHLDAPBindDN "CN=admin,OU=Admin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local"
                AuthLDAPBindPassword ######
                require valid-user
        </Location>
</VirtualHost>

Espero que ajude alguém a sair!

    
por 23.09.2012 / 18:05
1

Ele pode não responder diretamente à sua pergunta, mas você considerou usar o Subversion Edge ? É livre para usar (licença AGPLv3).

Como você pode ver nesta captura de tela

    
por 30.06.2012 / 13:17