多个svn存储库权限

多个svn存储库权限,svn,apache,authentication,version-control,virtualhost,Svn,Apache,Authentication,Version Control,Virtualhost,我在服务器上配置了两个存储库站点。第一个在/home/svn/repoA上,第二个在/home/svn/repoB上 我使用以下信息在Apache上构建了一个virtualhost: <Location /> DAV svn SVNParentPath /home/svn AuthType Basic AuthName "Servidor SVN" AuthUserFile /etc/apache2/dav_svn.passwd <

我在服务器上配置了两个存储库站点。第一个在
/home/svn/repoA
上,第二个在
/home/svn/repoB

我使用以下信息在Apache上构建了一个virtualhost:

<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>

DAV svn
SVNParentPath/home/svn
AuthType Basic
AuthName“Servidor SVN”
AuthUserFile/etc/apache2/dav_svn.passwd
需要有效用户
现在这是URL,我可以通过
http://svn.mydomain.com/repoA
http://svn.mydomain.com/repoB
,但我想将repoB设置为私有,只允许使用先前在dav_svn.passwd上使用htpasswd创建的用户和密码进行访问

如果我取出
行,它是一个更接近的标记,它会询问我用户和密码,但在两个存储库中


有没有一种方法可以使一个存储库只对匿名用户可读,另一个存储库只对登录用户具有读/写权限?

到目前为止,您使用了哪些资源?我知道有一本免费的Subversion书籍(含Subversion的版本控制)中有答案:

Apache authn/authz:


基于路径的身份验证:

我只需要两个位置块。RepoA应该在Apache位置块中为匿名只读访问启用“满足任何条件”,并具有允许匿名访问的相应身份验证文件。RepoB的身份验证文件应拒绝匿名访问

i、 e

apacherepoaconf

<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>
apacherepobconf

<Location /repoB>
  DAV svn
  SVNPath /home/svn/repoB
  AuthType Basic
  AuthName "Servidor SVN"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /path/to/authFileB
</Location>

好的,我已经做了,但现在它说:无效的命令'AuthSVNAccessFile',可能拼写错误或由服务器配置中未包含的模块定义。我不知道您是否需要有关服务器信息的信息,它是一个带有apache php5的Ubuntu服务器10.04 LTS,mysql和svn标准安装无效命令“AuthSVNAccessFile”可能可以通过使用“a2enmod authzu svn”安装模块来解决。嗨,Jeremy,我选择了基于路径的,我已经像上面的消息一样配置了文件,但它需要以下消息:无效命令“AuthSVNAccessFile”,可能拼写错误或由服务器配置中未包含的模块定义。我查看了加载模块的文件,它指向正确的文件夹,文件就在其中。你对那个错误有反应吗?谢谢你将mod_authz_svn模块加载到Apache中了吗?我已经在httpd.conf LoadModule dav_svn_module/usr/lib/apache2/modules/mod_dav_svn.so LoadModule authz_svn module/usr/lib/apache2/modules/modules_authz_svn.so上写了这个,但是得到的错误应该是AuthzSVNAccessFile,而不是authvnacessfile。对不起,我之前没看到这个。
<Location /repoB>
  DAV svn
  SVNPath /home/svn/repoB
  AuthType Basic
  AuthName "Servidor SVN"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /path/to/authFileB
</Location>
[/]
* =

[/repoB]
* = 
mark = rw
bill = rw