質問

私はSVN(Collabnet Subversion Edge)とTortoise SVNを使用して、複数の人が編集しているWebサイトを管理しています。

一部のユーザーからのアクセスを一部のディレクトリに制限したいと思います(データベースの資格情報を見るなど)。 1つのディレクトリへの読み取りアクセスのみが必要です。

SVNでこれを行うことは可能ですか?

ありがとう!

編集

XPとWindows 7のミックスを実行しています。サーバーはWindows 2008にあります。使用されているプロトコルはHTTPです。

役に立ちましたか?

解決

これは、svnaccess.confファイルを使用することで実現できます。 Windowsドメイン認証を使用していると仮定すると、Windowsユーザーにフォルダーレベルのアクセスを提供する1つの方法を次に示します。 (svnaccess.confファイルのサンプルセクション)

repo:/trunk/samplefolder

*=

@Repo_Restricted_users = r

@Repo_super_users = rw

ここでは、repo_restriced_usersとrepo_super_usersは、svnaccess.confファイルで早く定義する必要があるユーザーグループです。

repo_restriced_users = john.doe、tom.riddle

repo_super_users = harry.potter、lord.voldemort

これにより、他のフォルダーを閉じたままにしながら、リポジトリ内のフォルダーサンプルフォルダーのみに読み取りアクセスが提供されます。お役に立てれば。

他のヒント

MikeがリンクしたSVNブックは、利用可能な認証方法に関する適切な概要を提供します。

Windowsにいて、SVNサーバーの切り替えを気にしないでください。 VisualSVNサーバー 数分以内にインストールできる無料のSVN/Apacheラッパーであり、脳を必要とした簡単なポイントアンドクリックユーザー/アクセス管理を提供します。私は何年もそれを使ってきましたが、大好きです。

事前コミットフックと呼ばれるものを書くことで、プラットフォームの独立した方法でやりたいことをすることができます。フックインの詳細を読むことができます SVNブック. 。基本的に、ユーザー名と更新のディレクトリの場所が与えられ、トランザクションを受け入れるかどうかを決定する機能があります。

これの良い例があります このサイト. 。基本的に、スクリプトを使用する必要があります Commit-Access-Control.pl, 、Subversionでパッケージ化され、許可チェックを実行します。あなたがしなければならないのは、人々が書いて読むことができる場所を説明する簡単な構成ファイルを書くことです。

apacheでHTTPを使用している場合は、authz_svn apacheモジュールを使用できます。 本の中で.

単一のディレクトリが必要な場合は、そのために2番目のリポジトリを作成し、それを含むことが最も簡単だと思います。 svn:externals 「メイン」プロジェクトで(まだ作成されます svn update また、他のリポジトリなどから更新を取得します)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top