mis权限系统

在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);

时间: 2024-10-11 05:54:05

mis权限系统的相关文章

权限系统

系统设计——权限系统 前言:写了两篇关于DataGridView的文章:Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能) 和 Winform系列——好看的DataGridView折叠控件.这章来记录下权限系统.关于权限系统,网上版本非常多,大都实用性不太高,大多数的系统就是因为分得太细了反而使系统错综复杂,甚至有看到有按照角色.部门.地区.用户四个方便分别去做权限分配的,我的个神,这样一来,要取一个用户的权限那个麻烦,当然并非说那些大神们封的东西不好,而是适用性

权限系统——初识

最近正在做高效平台中权限系统的项目,原来想的权限吗?简单,不就是判断一下这个用户存不存在,能看那些页面吗? 如果你是这么想的,那么我也只能说你应该好好的看看这篇文章,如果您对权限系统认识很深,那么就不需要再看了,因为这篇文章是帮助我自己理解的,当然也能帮助一下那些对权限系统一点认识也没有的朋友! 首先应该说说,什么是权限系统?它有什么作用? 权限管理系统,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少.权限管理系统几乎出现在任何系统里面,只要有用户和

架构设计分享之权限系统(看图说话)

前面一篇文章<最近架构随想>,我提到架构设计的一些构想,其实也是对之前项目经验的一些归纳及总结.今天我们就以权限系统作为切入点,谈一谈怎么设计权限系统以及怎么做到系统具有以下特性: Organized:如果系统组织比较好,可以起到事半功倍的效果. Encapsulated:对功能,结构,数据进行有效的封装,会使系统维护变得更加容易. Reusable:对常用功能以及组件进行有效的封装,可以使系统变得结构清晰且方便维护. Extensible:在设计系统的时候,如果很好的遵守OO的设计理念(OO

权限系统与RBAC模型概述

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3793894.html 0. 前言 一年前,我负责的一个项目中需要权限管理.当时凭着自己的逻辑设计出了一套权限管理模型,基本原理与RBAC非常相似,只是过于简陋.当时google了一些权限管理的资料,从中了解到早就有了RBAC这个东西.可惜一直没狠下心来学习. 更详细的RBAC模型非常复杂.本文只做了一些基础的理论性概述.

权限系统组织管理—具体设计说明书

前言: 上次聚哥让写具体设计文档.自己也写了自己模块的,认为写的挺好的.可是后来娥接手权限.我跟她说权限逻辑的时候,才发现非常多东西在具体设计文档中都没有写出来,所下面一个人接手的话,又要跑来问好多逻辑的问题.每一次都要做非常多反复性的工作.还有上次.做PB中期验收的毕业设计的时候,我没有下载到直接带着数据库的,可是材料中有数据库说明书,写的特别具体.所以我就依照别人的数据库说明书,搭建起来了,系统也成功跑起来了.这个时候认为这些文档特别的实用.所以,我想,别人看了我的具体设计说明书,是不是也可

七色花基本权限系统(3)- 利用EasyUI进行首页布局

EasyUI EasyUI是基于JQuery库的偏js轻型前端UI框架,不了解的读者可以参考官网地址. 在项目中增加JQuery和EasyUI,并在布局页中引用.为了结构清晰,方便日后维护和升级,可以在Scripts下创建jquery文件夹和jquery-easyui文件夹.这里选择1.11.0的JQuery和1.4.3的EasyUI. 特别说明一下,我已经修复了该版本的几个(只能通过修改源码来修正的)bug,并在updateLog.txt文件中做了修复记录. 图标库 再引入2套通用的图标库,以

简洁常用权限系统的设计与实现(七):一种错误的不可行的构造树的方法

前面介绍了4种方法(实质是3种),构造树. 在此,需要特别说明的是,那些都是成功的.漂亮的方法和案例 ,但实际上在解决问题的过程中,有很多其它的尝试.比如本篇介绍的方法,就是不可行的.  想说明一个道理,在走向成功的道路上,会经历很多不算太成功的事情. 我们在前面的例子中,用递归计算子结点的深度level.但实际上,我最开始想到的一种方法正好反过来了. 思路:最底层的节点level为1,如果当前节点有父结点,就把自己的level+1,递归把自己的父结点的level+1. // 计算所有节点的le

简洁常用权限系统的设计与实现(一):构造权限菜单树的N(N&gt;=4)种方法

权限系统,Web开发常见标准子系统之一.结合自己的一些思考和实践,从本篇开始权限系统的设计与实现之路. 最近,重构了项目的权限菜单构造过程,向前端返回json格式的权限树. 这一篇,只是大致介绍下这个问题,并给出4种方法的整体思路,后续再分别详细介绍这4种方法,再往后介绍完整的权限系统的设计与实现. 权限表的结构: acl.parent_acl, 最重要的就是这2个字段,有了这2个字段,就可以构造一棵树了. 前端需要的json格式: "data":[{ "acl":

TP支持菜单动态生成RBAC权限系统数据库结构设计方案

最简单基于RBAC权限系统数据库结构设计 包括如下几个表 1. 用户表 -- Table "t_user" DDL CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(100) DEFAULT NULL, `password` varchar(100) DEFAULT NULL, `name` varchar(100) DEFAULT NULL, `status` int(11