- 1 zentaoPHP二次开发简介
- 2. zentaoPHP框架扩展机制
- 2.1 扩展机制简介
- 2.2 新增独立模块
- 2.3 对控制层(control)扩展
- 2.4 对模型层(model)扩展
- 2.5 对视图层(view)扩展
- 2.6 对样式表和js进行扩展
- 2.7 对多语言和配置进行扩展
- 2.8 增加新的类库
- 3. zentaoPHP框架API机制
- 3.1 API机制简介
- 3.2 需要登录验证的api调用
- 4 zentaoPHP框架命令行机制
zentaoPHP权限控制 分享链接
本篇目录
禅道权限的基本概念
禅道的权限有四个层级,分别为:
1. 应用,等同于禅道左侧菜单栏,代码中用 nav 表示;
2. 模块,权限最顶层的分类,代码中用 subset 表示;
3. 权限包,按照模块不同的操作进行分类,代码中用 package 表示;
4. 权限,具体的权限,代码中用 priv 表示;
因此,所有的权限都会属于相应的模块和权限包。比如“完成待办”这个权限,属于对待办的维护,因此在 “待办” 模块的 “创建维护待办” 权限包中。
权限的代码位置
禅道的权限配置代码在group模块,主要在以下2个文件:2. group/packagemanager.php,维护了所有权限的组织关系;
1. 语言定义
我们首先在group/lang/resource.php中能够找到语言定义:这行代码的意思是todo模块的finish方法,在权限列表中显示的是todo->finish语言项,我们可以去todo模块的语言项找到这个名称。
2. 权限包
首先我们会在group/packagemanager.php中定义一个”待办“模块。如下图,这样我们在”我的“权限菜单下就能看到”待办“这个模块了。
”待办“模块本身的显示文字可以可以使用 $lang->todo->common = ‘’; 进行定义。
接下来我们可以定义”权限包“,我们定义一个manageTodo的权限包,使用privs属性定义权限包的所有权限。
manageTodo权限包显示的文字可以使用 $lang->group->package->manageTodo = ''; 进行定义。
定义好权限的组织关系以后,我们就可以在预期的位置看到该权限了。
3. 如何扩展
1. 在 extension/custom/group/ext/lang/zh-cn/test.php 中可以配置 resource等语言项;
2. 在 extension/custom/group/ext/config/test.php 中配置 组织关系;