2009-07-28 3 views
0

Lorsqu'un utilisateur utilise TortoiseSVN et RapidSVN, il voit les fichiers tels qu'ils sont sur le serveur et a donc la possibilité de les supprimer. Je veux empêcher ça. Peut-être bloquer l'option à supprimer?Puis-je empêcher les utilisateurs de supprimer des fichiers du serveur en utilisant TortoiseSVN et RapidSVN?

Pour clarifier, je veux que la seule façon dont un fichier sera supprimé d'un serveur est qu'un utilisateur le supprime de son lecteur local, puis le confie au serveur. Je veux limiter la capacité de tout utilisateur à supprimer directement du serveur.

+1

Voulez-vous que votre référentiel soit en lecture seule ou simplement pour empêcher les suppressions (c'est-à-dire que les utilisateurs peuvent modifier les fichiers sans les supprimer)? – oggy

+0

Je veux que les utilisateurs ne puissent pas supprimer les fichiers DU SERVEUR. Cela ne me dérange pas qu'ils le fassent localement. – Oded

+0

Cette partie je comprends, mais voulez-vous que vos utilisateurs puissent modifier les fichiers dans le référentiel (ou "sur le serveur" comme vous l'avez dit) d'une manière autre que la suppression ou non? – oggy

Répondre

2

Essayer de prévenir quoi que ce soit du côté client est, comme toujours, intrinsèquement non sécurisé. Vos utilisateurs peuvent toujours utiliser un client différent.

Vous devez donc gérer les droits d'accès côté serveur (dans le référentiel lui-même). Malheureusement, pour autant que je sache, SVN supporte nativement seulement les niveaux d'accès "lire" et "écrire". Donner à quelqu'un un accès "écriture" signifie que l'utilisateur peut non seulement modifier les fichiers existants, mais aussi ajouter de nouveaux fichiers et supprimer ceux qui existent déjà.

Vous pourriez être en mesure d'ajouter cette fonctionnalité via un hook de pré-validation.

+0

Je connais le crochet PRE-COMMIT, pouvez-vous m'expliquer en détail? – Oded

+0

Si vous êtes familier avec Python ou Perl, vous pouvez essayer de modifier commit-access-control.pl et svnperms.py depuis: http://subversion.tigris.org/tools_contrib.html#hook_scripts Ou essayez Google, vous pourriez trouver des solutions précuites. – oggy

Questions connexes