2009年2月21日星期六

Trac 0.12 开发环境(一)授权

上帝说,要有光,所以就有光。
武总问,trac怎么设用户?所以就有了本文。
=======================
这是针对开发人员的,对于实际生产环境,可以选的用户认证方式有很多。公司这边现在用的LDAP,效果不错。
相关链接(更多内容可google):http://trac-hacks.org/wiki/LdapPlugin

正式开场


对于开发人员,通常总是会选用tracd作为开发环境,无它,简单。 tracd支持所谓的standalone模式。基本的运行很简单:

tracd -p %port %path

但是这个时候点击login,只会看到这样的一个页面:

Trac Error

Authentication information not available. Please refer to the installation documentation.

TracGuide — The Trac User and Administration Guide


默认情况下trac需要它的前端服务器为其提供授权,比如apache或nginx,standalone的时候,得要自己准备一个口令文件,文档上给出了用htpasswd工具,或直接使用Python脚本来生成口令文件的方法

有了这个文件,我们就可以用basic-auth的方式使得我们的开发环境支持简单的用户登录:

tracd -p 8080 --basic-auth=trac,.htpasswd,trac .

这里的--basic-auth指定基本授权方式,它的格式是[项目目录],[密码文件路径],[realm]
虽然文档上要求全都写完整目录,但是实践证明相对路径也是可以的,以上命令是我执行成功的。
测试过程中如果看到浏览器提示可能因为拒绝cookie造成服务器循环引用地址而产生错误,很可能说明你的设置成功了,只要把地址指向login以外的位置,应该就可以正常访问啦。

没有评论: