2008-12-08 53 views
2

我有一个可以正常工作的Subversion版本库,所有用户都需要密码验证。我的配置张贴在下面。我该如何去修改这个配置,以便我可以让一个用户对我的某个仓库拥有只读访问权限?Subversion - 如何在使用SVNParentPath时控制单个存储库的用户访问?

提供的示例需要使用SVNParentPath而不是SVNPath。前者允许您指定包含多个Subversion存储库的目录。

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "d:/Apache2/htdocs/" 
    ServerName code.mycompany.org 
    ErrorLog "logs/src.mycompany.org-error.log" 
    CustomLog "logs/src.mycompany.org-access.log" common 
    SetOutputFilter DEFLATE 

    <Location /> 
     DAV svn 
     SVNParentPath D:\SVN 
     AuthType Basic 
     AuthName "My Repository" 
     AuthUserFile conf/myteam.pwd 
     Require valid-user 
    </Location> 
</VirtualHost> 

回答

5

我已经使用SVN书籍自己完成了这项工作。

首先,确保您在AuthUserFile中设置了一些用户。接下来,为授权规则创建一个文件(conf/myteam.authz)。像这样填充这个文件。

[groups] 
my-developers = BrianLy 
external-developers = JamesKL 

[/] 
@my-developers = rw 

[repository-name-here:/path/here] 
@external-developers = r 

这将创建2个组,然后分配权限。我的团队拥有开发人员访问所有存储库的权限。第二条规则指定第二组对特定存储库的访问权限有限。

然后通过添加下面的AuthUserFile

这一行更新您的Apache配置
AuthzSVNAccessFile conf/myteam.authz 

重新启动Apache需要(要求)

+0

阿帕奇重启 - 阿帕奇只在启动时加载的配置。 很好的答案。我从来没有时间自己弄清楚这一点。 +1 – Paulius 2008-12-08 21:48:34

相关问题