2010-06-04 61 views
0

我正在启动一个小型的开源项目,并且已经有一个存储库和Trac实例在运行。我安装了AccountManager插件,并且我有RegistrationModule,因为我希望用户能够在没有增加权限的情况下创建帐户并提交门票(也就是我想要任何人提交错误报告)。SVN使用Trac权限组写入身份验证

我已经设置了读取访问权限,并且只向已通过身份验证的用户写入访问权限。这是我的dav_svn.conf文件的一部分。

AuthType Basic 
AuthName "Subversion Repository" 
AuthUserFile /trac-pages/ocm/htpasswd 

# To enable authorization via mod_authz_svn 
#AuthzSVNAccessFile /etc/apache2/dav_svn.authz 

# The following three lines allow anonymous read, but make 
# committers authenticate themselves. It requires the 'authz_user' 
# module (enable it with 'a2enmod'). 
<LimitExcept GET PROPFIND OPTIONS REPORT> 
    Require valid-user 
</LimitExcept> 

但是,如果有人使用上的Trac的RegistrationModule并创建一个帐户,然后他们可以写入仓库没有被给予进一步的权限。我想这样做只有Trac上“已认证”组中的用户才能提交到存储库。

回答

0

Uhm ... Trac上的“已认证”组自动包含所有已经登录的用户,包括刚刚注册新帐户并登录的所有用户。因此,您似乎需要一种方法将svn访问限制为仅限于那些拥有其他权限/组的用户。 (你可以使用Trac源代码中的sample-plugins/permissions/extrapermissionsprovider.py创建任意的新权限。)

我不知道如何让svn看看Trac的信息。

您可以查看thisthis插件trac-hacks以让您管理您在Trac中的svn访问。 (注意:我没有用过它们。)这可能会让你做一些你想要的东西。

信息披露:我是Trac开发人员之一。