2012-09-20 3 views
3

J'ai un serveur SVN fonctionnant sur un serveur Ubuntu avec le module Apache dav-svn pour y accéder via http.SVN. Référentiels ACL différents avec le même nom

J'ai des projets de plusieurs clients, j'ai donc créé une structure d'arbre/var/svn

/var/svn/client_1 
/var/svn/client_1/project_1 
/var/svn/client_1/project_2 
... 
/var/svn/client_2 
/var/svn/client_2/project_1 
/var/svn/client_2/project_2 

Chaque projet est un nouveau référentiel, quand je dois créer un nouveau projet, je ne le

suivant

créer un nouveau référentiel dans le dossier client

svnadmin create/var/svn/client_X/project_Y

Créer une nouvelle entrée sur dav_svn_conf

<Location /client_X> 
    DAV svn 
    SVNParentPath /var/svn/client_X 

    AuthType Basic 
    AuthName "Subversion Repository" 
    AuthUserFile /etc/apache2/dav_svn.passwd 
    Require valid-user 
    AuthzSVNAccessFile /etc/apache2/svn-acl.txt 
</Location> 

Donc, à ce moment, je peux accéder par: https://my_svn_server.com/client_x/project_y

Dans le fichier /etc/apache2/svn-acl.txt j'ai un contrôle total sur tous les référentiels

[/] 
my_user=rw 

maintenant, je veux donner accès à un client aux projets qu'il possède, mais je ne peux pas le faire. Si j'utilise le nom du référentiel, il a accès à tous les dépôts d'autres clients

[project_1:/] 
client_user=rw 

Il peut accéder à client_1/projet_1 et client_2/projet_1

Je voudrais faire ce qui suit:

[client_1:/] 
client_user=rw 

Comment puis-je le faire? devrais-je changer la façon dont je crée les dépôts?

Merci pour les réponses.

Répondre

0

Je recommande de ne pas utiliser ACL de SVN et utiliser à la place Apache/HTTP Auth pour gérer l'espace d'URL avec Location règles et simples Allow et Deny

Questions connexes