SVN使用Trac权限组进行身份验证

时间:2010-06-04 13:58:55

标签: svn apache2 trac

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

我只为经过身份验证的用户设置了读访问权限和写访问权限。这是我的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上“authenticated”组中的用户才能提交到存储库。

1 个答案:

答案 0 :(得分:0)

嗯...... Trac上的“已验证”组自动包含已登录的所有用户,包括刚刚注册新帐户并登录的所有用户。因此,您需要一种方法来限制svn只能访问具有其他权限/组的用户。 (并且您可以使用Trac源中的sample-plugins/permissions/extrapermissionsprovider.py创建任意新权限。)

我不知道你怎么会让svn看看Trac的信息。

您可以从this查看thistrac-hacks插件,以便在Trac中管理您的svn访问权限。 (警告:我没有使用它们。)这可能会让你做一些接近你想要的事情。

披露:我是Trac开发者之一。