Configuración de un site de apache con autenticación contra LDAP
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>
Lenguaje:
html4strict

Comentarios
cperez:
Así lo tengo montado en sam a la espera de ponerlo en producción. Con lo último que me estuve peleando fue para dar acceso de sólo lectura, para poner los repos de proyectos pasados a disposición del resto de usuarios.