ant*_*duh 7 svn authentication apache-2.2 apache-2.4
我使用的是 Apache 2.4,我希望在没有 mod_access_compat 的情况下使用它。
我正在尝试为 SVN 存储库提供服务,访问控制由 mod_authz_svn 处理。
我希望一些存储库或存储库中的位置具有只读匿名访问权限。我希望其他存储库或位置需要基本身份验证。
Apache 2.4 不再支持该Satisfy all
语法,但是 mod_authz_svn 似乎期望它。这应该如何在 Apache 2.4 上配置?
阿帕奇配置:
<Location /svn>
DAV svn
SVNParentPath /usr/projects/svn
AuthType Basic
AuthName "SVN repository"
AuthUserFile /usr/project-config/etc/svn-auth-file
AuthzSVNAccessFile /usr/project-config/etc/svn-access-control
Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
svn 访问控制:
# cat etc/svn-access-control
[/]
antiduh = rw
[openprojects:/]
* = r
antiduh = rw
Run Code Online (Sandbox Code Playgroud)
我有 5 个存储库,openprojects 是我唯一想要匿名只读访问的存储库。我似乎无法让它发挥作用。即使我能找到的关于 mod_authz_svn 的最新文档也继续使用Satisfy all
.
浏览 mod_authz_svn 的源代码,看起来它对ap_satisfies(r) == SATISFY_ANY
. 我并不完全熟悉 Apache API 模型,但这似乎表明 mod_authz_svn 目前不支持 Apache 2.4 的新身份验证模型。
由于没有其他人提出答案或相反的证据,我将将此标记为答案。
要使其在 Apache 2.4 下工作,请加载mod_access_compat
模块:
LoadModule access_compat_module libexec/apache24/mod_access_compat.so
Run Code Online (Sandbox Code Playgroud)
然后添加该Satisfy any
子句,正如文档当前所示。
<Location /svn>
DAV svn
SVNParentPath /usr/home/antiduh/svn
AuthType Basic
AuthName "SVN repository"
AuthUserFile /usr/home/antiduh/svn/etc/svn-auth-file
AuthzSVNAccessFile /usr/home/antiduh/svn/etc/svn-access-control
Satisfy any
Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8948 次 |
最近记录: |