簡體   English   中英

多個svn存儲庫權限

[英]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/repoAhttp://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM