我正在启动一个小型开源项目,我已经运行了一个存储库和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”组中的用户才能提交到存储库。
答案 0 :(得分:0)
嗯...... Trac上的“已验证”组自动包含已登录的所有用户,包括刚刚注册新帐户并登录的所有用户。因此,您需要一种方法来限制svn只能访问具有其他权限/组的用户。 (并且您可以使用Trac源中的sample-plugins/permissions/extrapermissionsprovider.py
创建任意新权限。)
我不知道你怎么会让svn看看Trac的信息。
您可以从this查看this或trac-hacks插件,以便在Trac中管理您的svn访问权限。 (警告:我没有使用它们。)这可能会让你做一些接近你想要的事情。
披露:我是Trac开发者之一。