我有一个运行apache的subversion服务器。它在apache配置中使用LDAP对用户进行身份验证,并使用SVN授权来限制用户对某些存储库的访问。这非常有效。
的Apache
DAV svn
SVNParentPath /srv/svn
SVNListParentPath Off
SVNPathAuthz Off
AuthType Basic
AuthName "Subversion Repository"
AuthBasicProvider ldap
AuthLDAPBindDN # private stuff
AuthLDAPBindPassword # private stuff
AuthLDAPURL # private stuff
Require valid-user
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
的Subversion
[groups]
soft = me, and, all, other, developpers
从一台计算机添加匿名访问
现在,我有一个我想要设置的服务(rietveld,用于代码审查),需要匿名访问存储库。由于这是一项Web服务,因此始终从同一服务器进行访问。因此,我添加了apache配置以允许来自此计算机的所有访问。直到我在授权文件中添加一行以允许对所有用户进行读访问之后,这才起作用。
的Apache
<Limit GET PROPFIND OPTIONS REPORT>
Order allow,deny
Allow from # private IP address
Satisfy Any
</Limit>
的Subversion
[Software:/]
@soft = rw
* = r # <-- This is the added line
例如,在我从特定IP添加授权之前,所有用户都经过身份验证,因此具有名称。现在,一些访问是在没有用户名的情况下完成的!我在apache日志文件中找到了-
用户名,但行- = r
不起作用,anonymous = r
也没有。我不想允许对SVN授权中的每个人进行读访问。我怎么能这样做?
答案 0 :(得分:3)
尝试将其放入您的authz文件中:
[Software:/]
@soft = rw
$anonymous=r