如何登记权限

感谢网友“抬头看脚趾”的分享,转载自:http://blog.sina.com.cn/s/blog_40b223160101geq6.html

本文将介绍如何对新增的module进行权限的设置。在禅道的开源版中,所有的控制(control)方法的权限都是通过在group/lang/resource.php进行分配控制的,(PS:默认所有的控制方法都是只有管理员可以访问),通过“组织=>权限”中的分配界面对每个用户进行访问权限的设置,如图。9.7 如何登记权限 - 图1

9.7 如何登记权限 - 图2

为了能够使自己新增的模块(module)或在现有模块的基础上新增的控制(control)方法能够在界面中显示并分配权限,则需要对module/group/lang/resource.php进行扩展,以下以对menudemo模块的index控制方法为例介绍具体操作。1、在module/group/ext/lang/zh-cn/、module/group/ext/lang/zh-tw/、module/group/ext/lang/en/文件夹下分别建立menudemo.php文件2、在menudemo.php文件中加入以下代码(group/ext/lang/zh-cn/menudemo.php group/ext/lang/zh-tw/menudemo.php group/ext/lang/en/menudemo.php)

  1. <?php
  2. $lang->resource->menudemo = new stdclass();
  3. $lang->resource->menudemo->index = 'index';

9.7 如何登记权限 - 图33、界面显示名称声明在权限分配界面中,为了能够直观的查看到所分配的是什么权限,就必须先对显示名称进行声明。其声明操作一般都是在lang文件中进行。module/menudemo/lang/zh-cn.php

  1. $lang->menudemo->common = '导航Demo';
  2. $lang->menudemo->index = '首页';
  3. $lang->menudemo->methodOrder[5] = 'index';

其中 $lang->menudemo->methodOrder[5] = 'index';是为了控制显示的先后排序而定义的。zh-tw.php en.php分别也加入以上内容,否则当切换界面语言时,分配界面将无法显示信息。