在Trac中设置认证
我正在为我公司的小型项目搭建一个Trac服务器,需要一些关于认证机制的帮助和指导。
我们已经开发了自己的网页应用,用户在日常工作中使用。这个应用是用php5.3写的,用户信息存储在mysql数据库里。现在有人让我研究一下Trac能否使用我们现有的用户数据库,这样可以减少用户管理的工作量。你有什么建议或者技巧吗?
到目前为止,我想到的步骤是:
- 在我们的服务器上安装Trac(现在是用mysql/apache2/mod_python),但不允许任何网络上的人访问。
- 写一个php的包装脚本,具体功能是:
- 处理认证机制。
- 把请求传递给Trac,并包含用户名。
- Trac将请求作为指定用户来处理。
问题是,我不知道第二步该怎么做。
有什么意见吗?
最好的祝福,
Jørn
3 个回答
0
我来简单跟进一下:我最后使用了Carsten Fuchs的ScriptAuthPlugin(我对它进行了修改,让它用md5加密密码)。这个插件和TracCoSign类似,你只需要提供一个地址,ScriptAuthPlugin就可以用来验证用户的身份。效果很好 :-)
http://trac-hacks.org/wiki/ScriptAuthPlugin
~Jørn
3
首先,不要使用mod_python,建议使用mod_wsgi。
其次,你有几种方法可以进行身份验证。一个选择是使用mod_authn_dbd,并配合MySQL数据库,这样可以把身份验证的设置放在apache2的配置里。
第三,看看Trac的AccountManager插件。这是一个非常有用的Trac插件(我们公司也在用),可以帮助你更好地完成这个任务。http://trac-hacks.org/wiki/AccountManagerPlugin
0
你要找的东西叫做单点登录(Single Sign On)。
你是在Apache上运行Trac吗?如果是的话,似乎可以利用Apache可以连接的用户认证接口(比如LDAP)。你可以看看这个讨论。
在Trac Hacks上,还有一些单点登录的插件可供使用,其中就有一个LDAP的插件。