Pongo aquí un ejemplo que hemos usado alguna vez para proteger un repositorio de subversion con users/passwords de una rama de un LDAP.
En este caso, lo único que cabe destacar es que el query (AuthLDAPURL) filtra por el atributo 'uid' para sacar una lista de usuarios de este y al autenticar cogerá este además de el atributo 'userPassword' para la contraseña.
En el snippet en sí, hay también un ejemplo de como excluir "uids" de las busquedas (project2).
No explico mucho más del snippet, ya que el que lo vaya a usar lo verá bastante claro y además, este snippet lo he creado para guardar el ejemplo en algún lado y que no se pierdamás que para otra cosa :]
Ruego sepan perdonarme por esto :P!
NameVirtualHost *:3690
<VirtualHost *:3690>
<Location /svn>
DAV svn
SVNParentPath /var/svn
#
# # Protegidas _todas_ las peticiones
# # Require valid-user
#
# Uncomment the following 3 lines to enable Basic Authentication
AuthBasicAuthoritative Off
AuthBasicProvider ldap
AuthType Basic
AuthName "Subversion Repository"
# AuthUserFile /etc/apache2/dav_svn.passwd
AuthLDAPBindDN "cn=admin,dc=dominio,dc=org"
AuthLDAPBindPassword tupass
AuthLDAPURL "ldap://192.168.1.1:389/ou=People,dc=dominio,dc=org?uid?sub"
AuthzLDAPAuthoritative off
Require valid-user
</Location>
# Per-project configuration
<Location /svn/project1>
AuthBasicProvider ldap
AuthType Basic
AuthName "Project One subversion repository"
# AuthUserFile /etc/apache2/dav_svn.passwd
AuthLDAPBindDN "cn=admin,dc=dominio,dc=org"
AuthLDAPBindPassword tupass
AuthLDAPURL "ldap://192.168.1.1:389/ou=People,dc=dominio,dc=org?uid?sub"
AuthzLDAPAuthoritative off
Require valid-user
</Location>
<Location /svn/project2>
AuthBasicProvider ldap
AuthType Basic
AuthName "Project Two subversion repository"
# AuthUserFile /etc/apache2/dav_svn.passwd
AuthLDAPBindDN "cn=admin,dc=dominio,dc=org"
AuthLDAPBindPassword tupass
# In this query we exclude USERX from the results
AuthLDAPURL "ldap://192.168.1.1:389/ou=People,dc=dominio,dc=org?uid??!(uid=USERX)"
AuthzLDAPAuthoritative off
Require valid-user
</Location>
</VirtualHost>