我正在尝试使用 Apache httpd 服务器控制请求,如下所示限制对 SVN 中某些目录的访问。基本上,我想允许所有经过身份验证的用户访问 /,并且只允许访问与 /root/ 匹配的路径/分支/发布给特定用户。这可能吗?下面是损坏代码的示例。
<Location />
DAV svn
SVNPath c:/svnrep/svn_repository
AuthType Digest
AuthName "example"
AuthDigestDomain /
AuthUserFile c:/users
Require valid-user
</Location>
<Location /root/*/branches/release*>
DAV svn
AuthType Digest
AuthName "example"
AuthDigestDomain /svn
AuthUserFile c:/users
Header add test result
Require user exampleuser
</Location>
答案1
看来下面的操作是有效的。
<Location "/svn">
DAV svn
SVNPath c:/svnrep/svn_repository
AuthType Digest
AuthName "example"
AuthDigestDomain /svn
AuthUserFile c:/users
Require valid-user
</Location>
<Location "/root/projectName/branches">
Header add test result
Require user exampleuser
</Location>
这与前一个有两个根本区别。
- 第二个位置块不包含到 SVN 的映射。这实际上是有道理的,因为在原始示例中,它试图将 svn 的根映射到内部结构。
- 由于某种原因,使用通配符语法时它对我来说不起作用,尽管在http://httpd.apache.org/docs/2.2/mod/core.html#location阿帕奇核心