版权声明:本文为博主原创文章。未经博主同意不得转载。 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. .NET中JSON的序列化和反序列化的几种方式

    一.什么是JSON JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集 ...

  2. Codeforces Round #482 (Div. 2)

    D. Kuro and GCD and XOR and SUM 字典树真好玩... 牛老板提供的思路:建1e5个 字典树,每个数插入到以它的因子为根所在的字典树中,这样就实现了整除,当然gcd(k, ...

  3. qt使用

    1安装qt软件(.run文件) . chmod 777 qt.....run ./qt...run或sudo ./qt...run(安装目录不一样) 2.sudo gedit .bashrc添加以下内 ...

  4. bzoj 1835/luogu P2605 : [ZJOI2010]base 基站选址

    题目描述 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄不超过Si的范 ...

  5. mybatis 源码学习(一)配置文件初始化

    mybatis是项目中常用到的持久层框架,今天我们学习下mybatis,随便找一个例子可以看到通过读取配置文件建立SqlSessionFactory,然后在build拿到关键的sqlsession,这 ...

  6. 1005 Spell It Right

    1005 Spell It Right   Given a non-negative integer N, your task is to compute the sum of all the dig ...

  7. 1.搭建maven,eclipse创建maven项目

    1.下载maven包,下载地址为:http://maven.apache.org/download.cgi 2.解压zip包 3.eclipse 引入maven: window-Preferences ...

  8. Java -----transient 和static

    越来越喜欢深究java基础了,讲讲 transient  和static 对序列化的影响.废话少说,直接上代码就可以了 package serializable; import java.io.Ser ...

  9. 数据结构------------------二叉查找树(BST)的java实现

    数据结构------------------二叉查找树(BST)的java实现 二叉查找树(BST)是一种能够将链表插入的灵活性和有序数组查找的高效性相结合的一种数据结构.它的定义如下: 二叉查找树是 ...

  10. MySQL中数据类型(char(n)、varchar(n)、nchar(n)、nvarchar(n)的区别)(转)

    一.第一种 char(n)和varchar(n)的区别: 在这里我们可以清楚的看到他们表面的区别就是前面是否有var,在这里解释一下var是什么意思,var代表“可变的”的意思 下面看个例子: )// ...