版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/zhangdaiscott/article/details/26580037



   开发指南专题十一:JEECG微云高速开发平台--基础用户权限



   11.1. 权限设计

基本概念

权限管理模块涉及到的实体有:用户、角色和系统资源(包含系统菜单、页面button等)。

用户能够拥有多个角色。角色能够被分配给多个用户。

而权限的意思就是对某个资源的某个操作.一般通用的权限管理模块规定:所谓资源即应用系统中提供的要进行鉴权才干訪问的资源(比方各类数据,系统菜单);所谓操作即添加、改动、删除、查询等操作。

 

权限模型

用户权限模型。指的是用来表达用户信息及用户权限信息的数据模型。

即能证明“你是谁?”、“你能訪问哪些受保护资源?”。

用户与角色之间构成多对多关系。表示同一个用户能够拥有多个角色,一个角色能够被多个用户所拥有。

角色与资源之间构成多对多关系。

表示同一个资源能够被多个角色訪问,一个角色能够訪问多个资源。

权限设计模型如图81所看到的。

   11.2. 权限设计目标

权限设计及权限管理的目标包含:

1) 对用户授予对应的角色

2) 对角色授予不同的菜单

3) 对角色授予不同的操作button权限

4) 进行数据级别的权限控制(行级别、列级别)

       11.3. 权限设计

   11.3.1. 数据表

数据表

实体类

说明

t_s_user

jeecg.system.pojo.base.TSUsr

[用户权限]系统用户表

t_s_base_user

jeecg.system.pojo.base.TSBaseUser

[用户权限]系统用户父类表

t_s_role

jeecg.system.pojo.base.TSRole

[用户权限]角色

t_s_role_user

jeecg.system.pojo.base.TSRoleUser

[用户权限]用户角色

t_s_depart

jeecg.system.pojo.base.TSDepart

[用户权限]部门机构表

t_s_role_function

jeecg.system.pojo.base.TSRoleFunction

[用户权限]角色权限表

t_s_operation

jeecg.system.pojo.base.TSOperation

[用户权限]操作权限表

t_s_function

jeecg.system.pojo.base.TSFunction

[用户权限]菜单权限表

11.3.2. 页面菜单

权限管理的相关菜单如图82所看到的。

 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

11.3.3. button权限

使用说明

button级别的权限依赖于菜单权限,也就是说,须要先为角色分配菜单,在已分配的菜单中,能够选择能够操作的button。

button权限的加入在菜单管理页面。点击【button设置】。设置该菜单页面相关的操作button,如图83所看到的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

button权限的分配在角色管理页面。在权限设置时。先为角色分配菜单,点击对应的菜单。在右側的“操作button列表”面板中显示该菜单可分配的操作button。如图84所看到的。

开发说明

在JEECG系统中,能够通过系统的全局变量配置来决定是否启用button权限。

例如以下:

/resources/sysConfig.properties 中button.authority.jeecg參数值例如以下: 

true(开启button权限)

false(关闭button权限)

当为false时默认拥有全部button权限,如(3)

DateGridTag中依据系统的配置进行button权限的控制:

(1)系统开启button权限而且DateGridTag里面相关的button操作有配置则依据配置做button权限的控制;

(2)系统开启button权限可是DateGridTag里面相关的button操作没有配置则不作button权限的控制;

(3)系统关闭button权限则全部的button不做button权限的控制;

(4)admin用户button权限不做限制。

操作步骤

①button设置:进入【系统管理】→【菜单管理】→【经常使用插件】,点击【单表模型】的【button设置】

       

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

        ②代码中对button加入操作代码。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

③角色管理中对菜单设置button权限

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

④开启button权限

   ⑤以角色为【普通用户】的账户登录系统

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

开发指南专题十一:JEECG微云高速开发平台--基础用户权限的更多相关文章

  1. 专题开发十二:JEECG微云高速开发平台-基础用户权限

      专题开发十二:JEECG微云高速开发平台-基础用户权限 11.3.4自己定义button权限 Jeecg中.眼下button权限设置,是通过对平台自己封装的button标签(<t:dgFun ...

  2. 开发指南专题八:JEECG微云高速开发平台数据字典

       开发指南专题八:JEECG微云高速开发平台数据字典的使用 1.标签中使用数据字典 数据字典为系统中可能用到的字典类型数据提供了使用的便利性和可维护性.下面拉框标签<t:dictSele ...

  3. 开发指南专题六:JEECG微云高速开发平台代码生成

    开发指南专题六:JEECG微云高速开发平台代码生 1.1. 代码生成扫描路径配置 用代码生成器生成代码后.须要进行相关配置配置,扫描注入control.service.entity等; 具体操作过程例 ...

  4. 开发指南专题五:JEECG微云高速开发平台代码生成器

    开发指南专题五:JEECG微云高速开发平台代码生成器 1.1. Maven开发环境搭建 在搭建jeecg的maven开发环境之前,须要先配置好本机的maven环境,并在eclipse中安装好m2ecl ...

  5. 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/27068645   开发指南专题十四:J ...

  6. 开发指南专题二:JEECG微云高速开发平台JEECG框架初探

    开发指南专题二:JEECG微云高速开发平台JEECG框架初探 2.JEECG框架初探 2.1演示系统 打开浏览器输入JEECG演示环境界址:http://demo.jeecg.org:8090/能够看 ...

  7. 专题开发十三:JEECG微云高速开发平台-附录

    专题开发十三:JEECG微云高速开发平台-附录 12.1UI库经常使用控件參考演示样例 序号 控件 解决方式 參考演示样例 1 datagrid数据列表.字段採用数据字典显示文本 <t:dgCo ...

  8. 开发指南专题4:JEECG高速微云开发平台--JEECG开发环境的搭建

    开发指南专题4:JEECG微云高速开发平台开发环境搭建 1. JEECG开发环境搭建 JEECG推荐的开发环境为Myeclipse8.5/Eclipse3.7+JDK1.6+Tomcat6.0 1.1 ...

  9. Modbus库开发笔记之十一:关于Modbus协议栈开发的说明(转)

    源: Modbus库开发笔记之十一:关于Modbus协议栈开发的说明

随机推荐

  1. sql server2008 R2安装总结

    1,卸载注意 在卸载Microsoft SQL Server 2008 R2 安装程序(简体中文) 出现 :“警告 26003.无法卸载 Microsoft SQL Server 2008 R2 安装 ...

  2. AC日记——[ZJOI2009]假期的宿舍 cogs 1333

    1333. [ZJOI2009] 假期的宿舍 ★★☆   输入文件:zjoi09holiday.in   输出文件:zjoi09holiday.out   简单对比时间限制:1 s   内存限制:25 ...

  3. AC日记——[SCOI2010]游戏 bzoj 1854

    1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 4938  Solved: 1948[Submit][Status] ...

  4. 002如何升级 Linux 的内核?

    我们不应该升级 Linux 内核,而是始终使用 rpm 命令来安装新的内核,因为升级内核会让你的 Linux 机器处于一个无法启动的状态.

  5. linux sed 替换(整行替换,部分替换)、删除delete、新增add、选取

    sed命令行格式为:         sed [-nefri] ‘command’ 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDI ...

  6. MongoDb 出现配置服务不同步的处理

    主要片方法就是用正常的配置文件的数据覆盖有问题的就行. 引用: http://dba.stackexchange.com/questions/48232/mongodb-config-servers- ...

  7. iOS -- 十进制、十六进制字符串,byte,data等之间的转换

    十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSStringstringWithFormat:]]]; 十六进制-& ...

  8. Java并发学习 & Executor学习 & 异常逃逸 & 同步互斥Best Practice & wait/notify, conditon#await/signal

    看了这篇文章:http://www.ciaoshen.com/2016/10/28/tij4-21/ 有一些Java并发的内容,另外查了一些资料. 朴素的Thread 首先,Java中关于线程Thre ...

  9. python matplotlib imshow热图坐标替换/映射

    今天遇到了这样一个问题,使用matplotlib绘制热图数组中横纵坐标自然是图片的像素排列顺序, 但是这样带来的问题就是画出来的x,y轴中坐标点的数据任然是x,y在数组中的下标, 实际中我们可能期望坐 ...

  10. UVA - 10603 Fill(隐式图搜索)

    题目大意:经典的倒水问题. 给你三个瓶子,体积为a,b,c. 刚開始a.b是空的,c是满的,如今要求你到出体积为d的水.倒水的规则为,要么倒水方为空,要么接水方满 问倒到容量为d时,倒水的最小体积是多 ...