Subversion - 当使用SVNParentPath时,如何控制单个存储库的用户访问?

Bri*_*tle 2 svn security version-control

我有subversion存储库,可以正常使用所有用户所需的密码验证.我的配置发布在下面.如何修改此配置以便允许单个用户对我的某个存储库具有只读权限?

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

<VirtualHost *:80>
    ServerAdmin apache@mycompany.org
    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>
Run Code Online (Sandbox Code Playgroud)

Bri*_*tle 5

我使用SVN Book自己解决了这个问题.

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

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

[/]
@my-developers = rw

[repository-name-here:/path/here]
@external-developers = r
Run Code Online (Sandbox Code Playgroud)

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

然后在AuthUserFile下面添加以下行来更新Apache配置

AuthzSVNAccessFile conf/myteam.authz
Run Code Online (Sandbox Code Playgroud)

重启Apache(必填)