J'essaye de configurer un site sur mon serveur Apache pour utiliser mod_dav_svn avec l'authentification mysql.Contrôle d'accès Subversion en utilisant Mysql et Apache (mod-dav-svn, mod-auth-sql, apache, mysql)
J'utilise une base de données avec trois tableaux comme celui-ci
auth_users
----------
uid username passwd
1 UserA pass
2 UserB pass
.
auth_groups
-----------
gid group
1 repo_rw
2 repo_ro
.
users_groups
uid gid
1 1
2 2
Par conséquent: -
UserA est membre du groupe repo_rw UtilisateurB est membre du groupe repo_ro
J'utilise ensuite ce qui suit dans mon fichier httpd.conf: -
<VirtualHost *:80>
DocumentRoot /var/www
ServerName repo.srv.domain.com
ServerPath /var/www
<Location /svn>
DAV svn
SVNPath /var/svn/repo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /dev/null
AuthBasicAuthoritative Off
AuthMySQL_Authoritative on
AuthMySQL_Empty_Password off
AuthMySQL_Encryption_Types Plaintext
AuthMySQL_Password_Table "auth_users u"
AuthMySQL_Username_Field "u.username"
AuthMySQL_Password_Field "u.passwd"
AuthMySQL_Group_Table "auth_groups g RIGHT JOIN users_groups ug ON (ug.gid=g.gid) RIGHT JOIN auth_users u ON (ug.uid=u.uid)"
AuthMySQL_Group_Field "g.group"
<Limit GET PROPFIND OPTIONS REPORT>
Require group repo_rw
</Limit>
</Location>
</VirtualHost>
Dans cette configuration, je peux donner aux utilisateurs un accès rw au référentiel/var/svn/repo, authentifié en tant qu'utilisateurs valides de ce référentiel.
Je peux également ajouter plusieurs entrées VirtualHost, en remplaçant «repo» dans les différents emplacements par un nouveau nom de fichier et en fournissant un accès contrôlé à certains référentiels.
Mon problème est que je suis incapable d'ajouter l'accès LECTURE SEULE aux dépôts, ainsi que l'accès en lecture seule anonyme.
Je l'ai lu devrait être possible d'ajouter
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require group repo_ro
</Limit>
à la section et cela devrait permettre un accès en lecture seule au dépôt, mais je ne l'ai pas été en mesure de faire ce travail. Lorsque le journal mysql est affiché, seul le repo_rw est interrogé.
Si quelqu'un peut donner des conseils, je serais extrêmement reconnaissant!