我有一个基于apache的Subversion服务器,该服务器托管多个存储库,这些存储库使用Location节可以很好地工作,该节利用Limit和LimitExcept部分,如下所示:
<Location "/svn/IAM/">
<Limit GET PROPFIND OPTIONS REPORT>
Require ldap-group CN=LDAP_ReadOnly
</Limit>
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require ldap-group CN=LDAP_ReadWrite
</LimitExcept>
</Location>
基于此,LDAP_ReadOnly中的帐户可以读取整个存储库,而LDAP_ReadWrite中的帐户则可以读取和写入整个存储库。
随之需要授予“ / svn / IAM / Trunk / Project1”组LDAP_LimitedRead读访问权限,并且没有对/svn/IAM/Trunk/Project1/one.properties的访问权限,也没有对/ svn / IAM / Trunk的访问权限/ Project2等。
我已经尝试使用SVNParentPath和SVNPath进行以下操作
<Location "/svn/IAM/Trunk/Project1/">
Dav svn
SVNParentPath /svn/repos/IAM/Trunk/Project1
AuthzSVNAccessFile IAM.svnAuth
</Location>
在IAM.svnAuth文件中包含以下内容
[IAM:Trunk/Project1]
Dev1 = r
[IAM:Trunk/Project1/one.properties]
Dev1 =
根据红豆书,基于路径的身份验证仅指向AuthzSVNAccessFile的使用。我想知道的是,是否有可能同时做到这两者以及如何做到。
答案 0 :(得分:0)
基于路径的授权可以通过组/用户完成
创建组
[组] readonly-developers =哈利,莎莉,乔
readwrite-developers =坦率,莎莉,简(Jane)
每个人=哈利,莎莉,乔,弗兰克,简(Jane)
可以像用户一样授予组访问控制权。用“ @”前缀来区分它们:
[reponame1:/ projects / calc]
@ readwrite-developers = rw
[reponame2:/ projects / paint]
@ readonly-developers = r
frank = rw;