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

标签 svn security version-control

我的 Subversion 存储库运行良好,所有用户都需要密码身份验证。我的配置发布在下面。如何修改此配置,以便允许单个用户对我的存储库之一具有只读访问权限?

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

<VirtualHost *:80>
    ServerAdmin <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3f5e4f5e5c575a7f52465c50524f5e514611504d58" rel="noreferrer noopener nofollow">[email protected]</a>
    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>

最佳答案

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

首先,确保您在 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(必需)

关于svn - Subversion - 使用 SVNParentPath 时如何控制单个存储库的用户访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/350588/

相关文章:

git - 如何防止 Gitlab 在分支 merge 时创建额外的 merge 提交

svn - 在 ReviewBoard 中处理多个 SVN 用户

git - 将一个特定的 svn 分支单独克隆到 git 中,并单独使用该分支的版本历史记录

javascript - 在 JavaScript 中使用公钥/私钥

ruby-on-rails - 在与 Gmail 通信时,ActionMailer 的 "enable_starttls_auto"设置是否保护我的电子邮件凭据?

python - bzrlib 版本与 OSX 上的 bzr 程序不匹配

java - 使用 SVNKit 获取所有修订

git - 如何在循环中运行 svn update 以将提交导入到 git?

java - startActivity 并拦截 intent extras

visual-studio - Visual Studio&源代码控制: How to have shared code?