wiki:ZhTracPermissions

Trac权限

Trac使用一种简单的权限系统来控制用户能否访问资源.

权限由trac-admin工具管理, 或者web界面管理中的一般 / 权限面板.

除了本页中描述的默认权限策略, 可以启用插件来激活附加的权限, 并在TracIni[trac] permission_policies 配置栏目中列出. 详情参见TracFineGrainedPermissions.

未验证的用户访问系统时, 系统分配给他的名字是"anonymous". 为"anonymous"用户分配权限, 从而可以给匿名/访客身份的用户设置特权. 用户没有特权的Trac部分不会显示在导航中. 除这些特权外, 当用户认证并登录到系统时, 还能得到其他的单独权利. 所有登录的用户属于"authenticated"的组, 他们继承"anonymous"用户的权限.

可用的特权

要让用户拥有所有特权, 使用TRAC_ADMIN权限. 拥有TRAC_ADMIN权限就像是*NIX系统上的一个root, 它会让你执行任何操作.

否则, 可以给用户分配用于Trac各个不同功能领域的单独特权(注意, 特权名是区分大小写的).

仓库浏览器

BROWSER_VIEW 仓库浏览器中查看目录清单
LOG_VIEW 仓库浏览器中查看文件和目录的修订日志
FILE_VIEW 仓库浏览器中查看文件
CHANGESET_VIEW 查看Subversion仓库检入

传票系统

TICKET_VIEW 查看现有传票和执行传票查询
TICKET_CREATE 创建新的传票
TICKET_APPEND 传票添加评论或附件
TICKET_CHGPROP 更改传票属性, 包括优先级, 指派到, 关键字等等(描述域除外)
TICKET_MODIFY 包括TICKET_APPENDTICKET_CHGPROP. 另外, 允许解决传票
TICKET_EDIT_CC 更改抄送字段
TICKET_EDIT_DESCRIPTION 更改描述字段
TICKET_ADMIN 所有TICKET_*权限, 还有删除传票附件和描述域的更改

注意: 需要REPORT_VIEW权限以显示"查看传票"按钮.

路线图

MILESTONE_VIEW 查看里程碑
MILESTONE_CREATE 创建一个新里程碑
MILESTONE_MODIFY 修改现有里程碑
MILESTONE_DELETE 删除里程碑
MILESTONE_ADMIN 所有MILESTONE_*权限
ROADMAP_VIEW 查看路线图页面
ROADMAP_ADMIN #3022中删除, 由MILESTONE_ADMIN替换

报表

REPORT_VIEW 查看报表
REPORT_SQL_VIEW 查看报表的底层SQL查询
REPORT_CREATE 创建新报表
REPORT_MODIFY 更改现有报表
REPORT_DELETE 删除报表
REPORT_ADMIN 所有REPORT_*权限

Wiki系统

WIKI_VIEW 查看现有的Wiki页面
WIKI_CREATE 创建新的Wiki页面
WIKI_MODIFY 更改Wiki页面
WIKI_DELETE 删除Wiki页面和附件
WIKI_ADMIN 所有WIKI_*权限, 和只读页面的管理

权限

PERMISSION_GRANT 增加/授予权限
PERMISSION_REVOKE 删除/收回权限
PERMISSION_ADMIN 所有PERMISSION_*权限

其他

TIMELINE_VIEW 查看时间线页面
SEARCH_VIEW 查看和执行搜索查询
CONFIG_VIEW 启用关于Trac的附加页面, 显示现在的配置或已安装插件的列表
EMAIL_VIEW 显示邮件地址, 即使`trac show_email_addresses`配置项是`false`?

授予特权

你可用trac-admin授予用户特权. 现有的特权集可以用下面命令列出来:

  $ trac-admin /path/to/projenv permission list

下面命令允许 bob 删除报表:

  $ trac-admin /path/to/projenv permission add bob REPORT_DELETE

permission add 也可以一次增加多个权限:

  $ trac-admin /path/to/projenv permission add bob REPORT_DELETE WIKI_CREATE

或增加所有特权:

  $ trac-admin /path/to/projenv permission add bob TRAC_ADMIN

权限组合

有两个内置组, "authenticated"和"anonymous".
所有没有登录的用户自动是"anonymous"组.
所有登录的用户自动是"authenticated"组.
"authenticated"组从"anonymous"组继承权限.
例如, 如果"anonymous"组有WIKI_MODIFY权限, 则不需要为"authenticated"增加WIKI_MODIFY permisison权限.

定制组可以定义为从内置组中继承权限.

权限可以按照developer, admin等角色进行分组.

  $ trac-admin /path/to/projenv permission add developer WIKI_ADMIN
  $ trac-admin /path/to/projenv permission add developer REPORT_ADMIN
  $ trac-admin /path/to/projenv permission add developer TICKET_MODIFY
  $ trac-admin /path/to/projenv permission add bob developer
  $ trac-admin /path/to/projenv permission add john developer

组内成员资格可通过做一个permission list(没有其他更多的参数)来进行核查, 结果会包含组成员资格. 组名应该使用小写字母, 大写字母是保留用于权限的.

增加新组和权限

权限组可以通过将一个用户指定到一个组来创建, 然后为那个组指定权限.

下面将bob增加到名为beta_testers新组, 然后为那个组指定WIKI_ADMIN权限. (因此, bob将继承WIKI_ADMIN 权限)

   $ trac-admin /path/to/projenv permission add bob beta_testers
   $ trac-admin /path/to/projenv permission add beta_testers WIKI_ADMIN

删除权限

通过remove命令来删除权限. 例如:

该命令会阻止用户bob删除报表:

  $ trac-admin /path/to/projenv permission remove bob REPORT_DELETE

就像permission add, 该命令接受多个特权名.

你还可以删除某个用户的全部特权:

  $ trac-admin /path/to/projenv permission remove bob '*'

或者所有用户的某个特权:

  $ trac-admin /path/to/projenv permission remove '*' REPORT_ADMIN

默认权限

新安装的Trac, 默认的anonymous用户将有查看Trac中所有内容的权限, 但是不能创建或修改. 另一方面, authenticated用户将有权限创建和修改传票和wiki页面.

anonymous
BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIEW REPORT_SQL_VIEW REPORT_VIEW ROADMAP_VIEW SEARCH_VIEW TICKET_VIEW TIMELINE_VIEW WIKI_VIEW
authenticated
TICKET_CREATE TICKET_MODIFY WIKI_CREATE WIKI_MODIFY

原文版本: TracPermissions
相关信息: Trac管理, Trac导览
See also: TracAdmin, TracGuide

Last modified 9 years ago Last modified on 2011-01-02T23:06:43+08:00