Domanda

sto usando SVN (CollabNet Subversion bordo) e Tortoise SVN per gestire un sito web in fase di modifica da parte di più persone.

Vorrei limitare l'accesso da parte di alcuni utenti di alcune directory (per impedire loro di vedere le credenziali del database, ecc). Essi richiedono solo l'accesso in lettura a una directory.

E 'possibile farlo in SVN?

Grazie!

Modifica

sono in esecuzione un mix di XP e Windows 7. Il server è in Windows 2008. Il protocollo utilizzato è http.

È stato utile?

Soluzione

Ciò può essere ottenuto utilizzando il file svnaccess.conf. Supponendo che si utilizza finestre di autenticazione di dominio, qui è un modo per fornire l'accesso a livello di cartella per gli utenti Windows. (Una sezione di esempio del file svnaccess.conf)

[repo: / trunk / cartella_prova]

* =

@repo_restricted_users = r

@repo_super_users = rw

Qui, repo_restricted_users e repo_super_users sono gruppi di utenti che devono essere definiti in precedenza nel file svnaccess.conf - in tal modo:

repo_restricted_users = john.doe, tom.riddle

repo_super_users = harry.potter, lord.voldemort

Ciò fornirà l'accesso in lettura al solo cartella_prova cartella all'interno della repository, mantenendo altre cartelle chiuse. Spero che questo aiuti.

Altri suggerimenti

Il libro SVN come legata da Mike ti dà una buona panoramica sui metodi di autenticazione disponibili.

Se siete su Windows e non vi occupate di commutazione server SVN, VisualSVN Server è uno svn gratuito / Apache involucro che può essere installato in pochi minuti, e offre un facile la gestione degli utenti / access point-and-click morte cerebrale. Ho usato per anni e mi piace.

Si può fare ciò che si vuole in un modo indipendente dalla piattaforma, scrivendo quello che viene chiamato un pre-commit hook. Si può leggere di più su ganci in svn libro . In sostanza, ti verrà dato il nome utente e la posizione della directory degli aggiornamenti, e hanno la capacità di decidere se accettare o meno la transazione.

Un esempio di buona di questo si trova su questo sito . In sostanza, si vuole usare lo script commit-access-control.pl , che è confezionato con la sovversione, per eseguire il controllo il permesso per voi. Tutto quello che dovete fare è scrivere un semplice file di configurazione che descrivono dove le persone possono scrivere e leggere.

Se vi capita di essere utilizzando HTTP con Apache, quindi è possibile utilizzare il modulo di Apache authz_svn descrivere qui nel libro .

Se hanno bisogno di una singola directory, penso più semplice sarebbe quella di creare un secondo / altro repository per questo, e compresi con svn:externals nel progetto 'main' (che sarà ancora fare svn update recuperare anche gli aggiornamenti dagli altri repository ecc .).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top