概述
Trac默认使用HTTP的验证方式--就是点击“Login”时,浏览器弹出一个登录窗口输入用户名和密码。这种方式,切换用户时会很麻烦--观察一下你就会发现,在成功登录之后,点击“Logout”然后再点击“Login”时,浏览器将不再弹出登录窗口,而是自动以刚才登录的用户名和密码完成登录,这样也就无法切换用户了;如果需要切换用户,只能关闭浏览器进程,然后重新进入Login页。
本文将介绍一款名为Account Manager的Trac插件,使用该插件,可以不再使用默认的HTTP的验证方式登录,而是改用Web表单形式的登录方式,这样,如果需要切换用户,只需要Logout然后再Login,在登录表单中输入另一个用户名及对应的密码即可。
安装Account Manager插件
(一)直接安装
对于 Trac 0.9:
运行 "easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.9"
(注意:需要先设置好easy_install的运行路径,或者在easy_install程序所在的目录下执行命令,下同);
对于 Trac 0.10:
运行 "easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10"
对于 Trac 0.11:
运行 "easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk"
(二)下载后安装
也可以通过如下地址下载Accout Manager插件:
Trac 0.9: http://trac-hacks.org/changeset/latest/accountmanagerplugin/0.9?ld_path=/&filename=accountmanagerplugin/0.9&format=zip
Trac 0.10: http://trac-hacks.org/changeset/latest/accountmanagerplugin/0.10?old_path=/&filename=accountmanagerplugin/0.10&format=zip
Trac 0.11: http://trac-hacks.org/changeset/latest/accountmanagerplugin/0.11?old_path=/&filename=accountmanagerplugin/0.11&format=zip
下载完后,解压下载的压缩包,然后使用命令:“easy_install <插件所解压到的目录>”完成安装。
配置
(一)Apache配置:
如果使用Apache做为Web server,则需要修改Apache的配置,将/login入口的http验证功能取消--移除apache配置文件中的类似如下行的代码:
<LocationMatch "/[^/]+/login">
AuthType Basic
AuthName "trac"
AuthUserFile E:/Trac/passwd.txt
Require valid-user
</LocationMatch>
(二)修改trac.ini配置:
(1)新增组件的支持:
在[components]段中增加:
trac.web.auth.LoginModule = disabled #禁用传统的登录模块插件
acct_mgr.web_ui.LoginModule = enabled
acct_mgr.web_ui.RegistrationModule = disabled
acct_mgr.htfile.HtPasswdStore = enabled
(2)设置密码表文件:
[account-manager]
password_format = htpasswd
password_store = HtPasswdStore
password_file = E:/Trac/passwd.txt #这里配置密码文件的路径,根据实际情况修改
(这里配置的密码文件是通过Apahce的htpasswd.exe命令产生的)
完成
通过上述修改后,重新Apache,再次点击登录按钮,将不再弹出HTTP验证对话框,而是进入一个Web表单式的登录界面。