Cette méthode peut être utilisée pour l'authentification des clients SVN mais également pour celle de l'interface Web d'administration.
Modules apache nécessaires :
apache2.2-common sous debian Etch et Lenny)mod_authnz_ldapSous debian, pour charger ces modules il faut rajouter les lignes suivantes dans votre configuration apache :
Include /etc/apache2/mods-available/ldap.load Include /etc/apache2/mods-available/authnz_ldap.load
Exemple de configuration :
# authentification ldap pour les clients svn AuthType Basic AuthName "Authentification subversion" AuthBasicProvider ldap AuthLDAPBindDN cn=manager,dc=svnwebadmin AuthLDAPBindPassword secret AuthLDAPURL ldap://localhost:40191/dc=svnwebadmin?mail AuthzLDAPAuthoritative off Require valid-user
Pour utiliser ce système pour les clients SVN : il sera nécessaire de protéger par cette méthode l'URL d'accès aux dépôts. Par exemple si l'URL racine pour l'accès à tous les dépôts est /repository il faudra placer la configuration précédente dans une directive de ce type :
<Location /repository/> # placer la configuration précédente ici </Location>
Pour utiliser ce système pour l'interface Web d'administration : il sera nécessaire de protéger par cette méthode l'URL d'accès à l'interface d'administration (comme ci-dessus) puis de paramétrer le lanceur svnwebadmin pour lui indiquer le nom d'utilisateur à utiliser comme ceci : dans votre index.php, modifiez ceci :
// indiquez directement le nom d'utilisateur authentifié // si vous désirez utiliser un système d'authentification externe //$auth_username = 'utilisateur-authentifie';
par ceci :
/ indiquez directement le nom d'utilisateur authentifie // si vous désirez utiliser un système d'authentification externe $auth_username = $_SERVER['REMOTE_USER'];