首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

Trac装配2 - 账户管理

2012-07-22 
Trac安装2 - 账户管理上一篇中已经搭建了一个可用的Trac系统,本文记录了Trac中账户管理功能的集成。?一、激

Trac安装2 - 账户管理

上一篇中已经搭建了一个可用的Trac系统,本文记录了Trac中账户管理功能的集成。

?

一、激活Admin管理页面

?

1. 用命令行为项目指定一个管理员:

sudo trac-admin /var/lib/trac/YourProject permission add fake_admin TRAC_ADMIN

?

2. 用htpasswd命令(apache2附带工具)生成密码文件:

sudo htpasswd -c trac.htpasswd fake_admin

?

3.?配置apache中的basic授权:

<LocationMatch "/trac/[^/]+/login">    AuthType Basic    AuthName "Trac"    AuthUserFile path_to_pwd_file    Require valid-user</LocationMatch>

? ? 或者,如果以后要用AccountManager插件的话,干脆就不配置apache2中的授权,运行以下命令后直接跳到下一步【参考】:

tracd -p 8000 –basic-auth=”*,pwd_file_path,local_trac” path_to_project
?

4. 用fake_admin登陆,便可看见admin菜单。

?

二、AccountManagerPlugin插件的安装与配置

?

? ? 插件本身的安装就不说了,安装完之后用刚刚的fake_admin重登陆trac便可看见该插件的配置页面。配置本身也很清晰易懂,但是有3个需要注意的地方:

?

    要用accountManager提供的登陆界面,需要disable默认的loginModule;注意文档中提到的各种AuthStore和wsgi/mode_python的兼容问题【参考】,这里选择的是SessionStore如果以tracd命令启动服务的,别忘了重启时忽略掉–basic-auth选项,否则浏览器将不显示accountManager登陆界面

? ??有意思的是,在account管理页面,user列表中并没有最开始创建的admin_user。那么我们是否可以先创建一个临时账户(有admin权限),在配置好accountManager之后删除掉呢?下面做个实验:

?

    在account的管理页面中创建一个新用户:real_admin运行 trac-admin path_to_project permission add real_admin TRAC_ADMIN用real_admin登陆,发现同样具有admin的权限

? ??所以,通过临时账户来创建真正的admin的思路是可以的。现在的问题是如何删除那个临时账户呢?

?

? ??首先,删除临时账户的admin权限:

trac-admin testtrac permission remove fakead_min TRAC_ADMIN

?

? ? 其次,由于AuthStore会将用户信息存入数据库中,我们先前指定的trac.htpasswd文件也不会再用,所以现在唯一的问题是:临时账户信息会被导入到数据库中么?那么,我们在不指定trac.htpasswd文件时启动服务,能用临时账户登录进去么?答案是不能。看来,这个临时admin的方法是安全的。?

?

?

热点排行