[英]Multiple svn repositories privileges
我在我的服務器上配置了兩個存儲庫站點。 第一個是/home/svn/repoA
,第二個是/home/svn/repoB
。
我在Apache上使用以下信息構建了一個虛擬主機:
<Location />
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
現在這個URL,我可以通過http://svn.mydomain.com/repoA
和http://svn.mydomain.com/repoB
訪問服務器,但是我想讓repoB變為私有,只允許訪問先前使用dav_svn.passwd上的htpasswd創建的用戶和密碼。
如果我取出<LimitExcept GET PROPFIND OPTIONS REPORT>
行,並且它是更接近的標記,它會詢問用戶和密碼,但是在兩個存儲庫中。
有沒有辦法讓一個只能用於匿名和讀/寫的已登錄用戶,而第二個存儲庫只對已登錄用戶的讀/寫權限?
你用了多少資源來實現這一目標? 我知道有一本免費的Subversion書籍(版本控制與Subversion)有答案:
Apache authn / authz: http : //svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz
基於路徑的authz: http : //svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html
我只有2個位置塊。 RepoA應該在Apache位置塊中打開“Satisfy Any”以進行匿名只讀訪問,並使用相應的Auth文件進行匿名訪問。 RepoB的Auth文件應該拒絕匿名訪問。
即
Apache repoA conf
<Location /repoA>
DAV svn
SVNPath /home/svn/repoA
AuthType Basic
Satisfy Any
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /path/to/authFileA
</Location>
authFileA
[/]
* = r
[/repoA]
* = r
mark = rw
bill = rw
Apache repoB conf
<Location /repoB>
DAV svn
SVNPath /home/svn/repoB
AuthType Basic
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /path/to/authFileB
</Location>
authFileB
[/]
* =
[/repoB]
* =
mark = rw
bill = rw
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.