« WTP | Main | Element#getElementsByTagName »

2005.10.08

Subversion + AuthzSVNAccessFile

 Subversionリポジトリに対して、http(s)でアクセスする場合はApacheが必要となりますが、その際に、

「パスA以下はaさんは読み書きすることができるがbさんは読み込みのみ、cさんは一切不可」

とかいうような設定を行いたくなってくると、AuthzSVNAccessFileをhttpd.confに設定することになります。
 設定方法はSubversionによるバージョン管理内の、httpd, Apache HTTP サーバページに記載されていますが、複数のSubversionリポジトリを扱っているときにちょっとハマってしまったので、そのメモ。
 例えば、<Location /svn>においてSVNParentPathを指定しておき、他に<Location /svn/Repos1>および<Location /svn/Repos2>の指定があった場合(Repos1とRepos2とはそれぞれ利用ユーザが異なるため、使用するAuthUserFileは別のものを使用していると仮定)。
 Repos2の配下のディレクトリに対してのみAuthzSVNAccessFileを適用したい場合でも、この指定は<Location /svn>の部分で行う必要があるみたいです。<Location /svn/Repos2>内で指定しても、何か上手く反応してくれませんでした(誰でも閲覧できるか、誰も閲覧できないか、500エラーか、という結果になってしまいました)。ルート部分で指定する必要があるってことでしょうか?
 で、AuthzSVNAccessFileで指定したファイルの内容に、

[groups]
repos1-developers = user1, user2, user3
repos2-developers = usera, userb, userc

[Repos1:/]
@repos1-developers = rw

[Repos2:/pathA]
usera = rw
userb = r

[Repos2:/pathA/pathB]
usera =
userb = rw

[Repos2:/pathC]
userc = rw


のような感じで登録すればOKっぽいです。cさんでログインしているときにパスAを見ようとした場合や、aさんでログインしている状態でパスAからパスBに移動しようとしたら、再度認証が要求されます。

|

« WTP | Main | Element#getElementsByTagName »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/6303747

Listed below are links to weblogs that reference Subversion + AuthzSVNAccessFile:

« WTP | Main | Element#getElementsByTagName »