Question

J'utilise SVN (Subversion de CollabNet bord) et Tortoise SVN pour gérer un site Web en cours d'édition par plusieurs personnes.

Je voudrais limiter l'accès par certains utilisateurs à certains répertoires (pour les empêcher de voir les informations d'identification de base de données, etc.). Ils ne nécessitent que l'accès en lecture à un répertoire.

Est-il possible de le faire dans SVN?

Merci!

Modifier

Ils sont en cours d'exécution d'un mélange de XP et Windows 7. Le serveur est sous Windows 2008. Le protocole utilisé est le protocole HTTP.

Était-ce utile?

La solution

Ceci peut être réalisé en utilisant le fichier svnaccess.conf. En supposant que vous utilisez Windows authentification de domaine, voici un moyen de fournir un accès au niveau du dossier pour les utilisateurs de Windows. (Une partie échantillon du fichier de svnaccess.conf)

[repo: / trunk / exemple_dossier]

* =

@repo_restricted_users = r

@repo_super_users = rw

Ici, repo_restricted_users et repo_super_users sont des groupes d'utilisateurs qui doivent être définis précédemment dans le fichier svnaccess.conf - ainsi:

repo_restricted_users = john.doe, tom.riddle

repo_super_users = harry.potter, lord.voldemort

Cela fournira un accès en lecture à tout le dossier exemple_dossier dans le référentiel tout en gardant les autres dossiers fermés. Espérons que cela aide.

Autres conseils

Le livre de SVN comme lié par Mike vous donne une bonne vue d'ensemble sur les méthodes d'authentification disponibles.

Si vous êtes sous Windows et ne vous dérange pas de commutation du serveur SVN, VisualSVN serveur est un svn gratuit / emballage Apache qui peut être installé en quelques minutes, et fournit des points et cliquez sur la gestion des utilisateurs / accès facile de mort cérébrale. Je l'ai utilisé pendant des années et je l'aime.

Vous pouvez faire ce que vous voulez dans une plate-forme de manière indépendante en écrivant ce qu'on appelle un crochet pre-commit. Vous pouvez en savoir plus sur les crochets dans le livre svn . En gros, vous aurez le nom d'utilisateur et l'emplacement du répertoire des mises à jour, et ont la capacité de décider d'accepter ou non la transaction.

Un bon exemple de cela se trouve sur ce site . En gros, vous voulez utiliser le script commit-access-control.pl , qui est livré avec la subversion, pour effectuer la vérification d'autorisation pour vous. Tout ce que vous devez faire est d'écrire un simple fichier de configuration qui décrivent où les gens peuvent lire et écrire.

Si vous arrive d'utiliser http avec apache, vous pouvez utiliser le module authz_svn apache décrire ici livre.

Si elles ont besoin d'un seul répertoire, je pense que le plus simple serait de créer un second / autre référentiel pour cela, et notamment avec svn:externals dans le projet « principal » (qui encore faire svn update récupèreront également les mises à jour de l'autre référentiel, etc. .).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top