在mis中开发,主要目的是有一个统一的权限管理(即r360.right表),以及一个统一的系统和界面供后台配置管理
1、数据库准备工作:
mis后台涉及表:
right表是权限操作表,role_right_relation是角色与权限操作关联表
如上图,如果新增controller和action,则在right表执行如下sql:
INSERT INTO `right` (`title`,`desc`,`controller`,`action`,`default_allow`,`seq`,`system`)
VALUES(‘Q&A‘, ‘qa‘, ‘qa‘, ‘list‘,0,0,0),
红色的部分是控制器和方法名
我的是:
INSERT INTO `right` (`title`,`desc`,`controller`,`action`,`default_allow`,`seq`,`system`)
VALUES(‘Q&A‘, ‘qa‘, ‘qa‘, ‘list‘,0,0,0),
(‘Q&A‘, ‘添加QA‘, ‘qa‘, ‘add‘,0,0,0),
(‘Q&A‘, ‘编辑QA‘, ‘qa‘, ‘edit‘,0,0,0),
(‘Q&A‘, ‘复制QA‘, ‘qa‘, ‘copy‘,0,0,0),
(‘Q&A‘, ‘删除QA‘, ‘qa‘, ‘del‘,0,0,0),
(‘Q&A‘, ‘查询QA‘, ‘qa‘, ‘inquire‘,1,0,0),
(‘Q&A‘, ‘查看QA‘, ‘qa‘, ‘view‘,0,0,0),
(‘Q&A‘, ‘QA获得用户‘, ‘qa‘, ‘getUser‘,1,0,0),
(‘Q&A‘, ‘QA获得一级分类‘, ‘qa‘, ‘getLevel1‘,1,0,0),
(‘Q&A‘, ‘QA获得二级分类‘, ‘qa‘, ‘getLevel2‘,1,0,0);
default_allow这个字段1代表每个人都可以访问,0就是需要权限来配置才可以使用这个方法
如果想使当前用户组能访问对应的操作,则执行以下sql:
INSERT INTO `role_right_relation` (`right_id`,`role_id`) VALUES(1369,1);
最近开发了一个mis系统中问答知识库Q&A这个模块
mis系统需要对公司中的工作人员进行权限的控制,比如我开发的Q&A模块中,
就有三种权限:
1. 无权限:看不到Q&A入口
2. 有查看权限:仅支持查看模板
3. 有编辑权限:可新增、编辑、复制、删除模板。
在mis中开发一些功能需要在right表中配置权限。
比如说我的QaController.php中有9个方法,所有的方法都需要在right表中写进去。否则就没有权限去执行
此时需要在right表中写入:
INSERT INTO `right` (`title`,`desc`,`controller`,`action`,`default_allow`,`seq`,`system`)
VALUES(‘Q&A‘, ‘qa‘, ‘qa‘, ‘list‘,0,0,0),
(‘Q&A‘, ‘添加QA‘, ‘qa‘, ‘add‘,0,0,0),
(‘Q&A‘, ‘编辑QA‘, ‘qa‘, ‘edit‘,0,0,0),
(‘Q&A‘, ‘复制QA‘, ‘qa‘, ‘copy‘,0,0,0),
(‘Q&A‘, ‘删除QA‘, ‘qa‘, ‘del‘,0,0,0),
(‘Q&A‘, ‘查询QA‘, ‘qa‘, ‘inquire‘,1,0,0),
(‘Q&A‘, ‘查看QA‘, ‘qa‘, ‘view‘,0,0,0),
(‘Q&A‘, ‘QA获得用户‘, ‘qa‘, ‘getUser‘,1,0,0),
(‘Q&A‘, ‘QA获得一级分类‘, ‘qa‘, ‘getLevel1‘,1,0,0),
(‘Q&A‘, ‘QA获得二级分类‘, ‘qa‘, ‘getLevel2‘,1,0,0);