版权声明:本文为博主原创文章。未经博主同意不得转载。 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. Linux 之 网络相关设置

    网络相关设置 参考教程:[千峰教育] 命令: ping: 作用:通常用于检测网络设备的连通性. 格式:ping IP/域名 选项:-c,指定方式测试数据包的次数 实例:ping www.baidu.c ...

  2. dedecms--数据库

    最近在用dedecms做项目,dedecms里面有数据库操作类,其实这个在实际项目中用起来还是很方便的. 1:引入common.inc.php文件 require_once (dirname(__FI ...

  3. mysql数据库编码格式

    1.查看数据库编码格式 mysql> show variables like 'character_set_database'; 2.查看数据表的编码格式 mysql> show crea ...

  4. ES6 的Object.assign(target, source_1, ···)方法与对象的扩展运算符

    一.基本概念 Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target).它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象. Ob ...

  5. guake使用

    1. 安装:sudo apt-get install guake 2. 在终端输入guake 3. f12:显示/隐藏 4. f11:全屏/正常屏切换 5. f2:重命名终端名 6. 还可以查看修改快 ...

  6. sort、dirname、添加环境变量、修改主机名、别名IP、静态路由

    1.split-按照指定行数或大小分割文件 -l:指定行数 -a:指定文件后缀长度 -d:使用数字作为后缀 -b:指定大小 # 以10行为单位对文件进行分割 split -l 10 /etc/init ...

  7. Jenkins-------初探

    Jenkins 安装和使用就不说了,说一下jenkins mail的配置,稍微有点坑,记住两个地址一致 插件安装时也出问题,大天朝的防火墙真是醉了,如下 更换我大天朝的镜像站  链接如下     ht ...

  8. python2.7升python3.2

    1. 安装python3.2 sudo apt-get install python3.2   2.  删除usr/bin/目录下的默认python link文件. cd /usr/bin sudo ...

  9. java后4位打成*显示

    /** * [固定电话] 后四位,其他隐藏<例子:****1234> * * @param num * @return */ public static String fixedPhone ...

  10. 【hibernate】唯一约束 注解

    唯一约束注解 单列约束和联合约束 分别如下 @Table( uniqueConstraints = { @UniqueConstraint(columnNames = "uid") ...