使用 Apache2 和 SVN 启用基于角色的访问

Posted

技术标签:

【中文标题】使用 Apache2 和 SVN 启用基于角色的访问【英文标题】:Enable role base access with Apache2 and SVN 【发布时间】:2015-07-18 21:29:04 【问题描述】:

我想

我关注了以下文章,发现可以实现身份验证,但现在是基于角色的访问 http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html

但我想保护 svn 库不受外部影响,但我有 2 个不同的用户组,他们具有只读访问权限和读写访问权限。

我试图通过像这样定义两个不同的人来在一定程度上实现这一点,但它对我不起作用,即使这样我也无法限制来自公众的访问。

  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>

我可以看到这只能通过 SVN 来实现(不与 apache 结合) How to setup access control in SVN?

但我也希望它与 Apache 一起使用。

实现这一目标的最佳方法是什么?

【问题讨论】:

【参考方案1】:

你一定要仔细阅读SVN Book

阅读“一揽子访问控制”部分和第一个示例,其中匿名没有任何访问权限
<Location /svn>
  ...
  Require valid-user
</Location>

没有 &lt;Limit&gt;

阅读“按目录访问控制”部分和相关章节Path-Based Authorization

【讨论】:

感谢您的回复,我理解这一点,但如果我理解正确,这不能满足我的要求,根据我的理解,这将允许保护存储库,但我们无法启用该存储库的保护和一组只有读取权限,而另一组具有读取和写入权限。如果我的理解有误,请纠正我。提前致谢。 @Shanaka - 天哪!!!我完全迷路了。你能用 shorteasy plain 英文写你的 REQ,比如“我想要 grup 可以...和 ​​group 可以...” 感谢您的指导,从您的链接中我找到了解决方案并成功实施。不过我有一个问题,当我们使用 Apache 设置 SVN 时,我们是否也需要启动 svnserver ?我的理解是 Apache 将使用 Apache 位置指令处理 SVN 文件夹结构。我说的对吗? @Shanaka - 使用 authz_svn_module 和 authz_file 所有由 Apache 执行的基于路径的授权。 仅定义 SVN 根的基本属性,不同用户/组的子路径 ACL 是 authz_file 规则的工作

以上是关于使用 Apache2 和 SVN 启用基于角色的访问的主要内容,如果未能解决你的问题,请参考以下文章

Apache 2、SSL 和客户端证书

基于角色 Springboot+Thymeleaf 禁用/启用 Html 元素

ubuntu 14.04 下svn + apache2 配置

如何在 Ejabberd 中启用基于角色的用户聊天

Apache2:单独的“配置树”的基于条件的包含

在 Google Cloud Platform 中启用基于角色的支持时遇到一些问题