版权声明:本文为博主原创文章。未经博主同意不得转载。 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 之 xunsearch

    Linux 之 xunsearch 参考教程:[千峰教育] 一.xunsearch简介: 开源免费.高性能.多功能.简单易用的专业全文检索技术方案. 官网(http://xunsearch.com). ...

  2. PhPStorm 快捷键使用(转载)

    PhPStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能.Phpstrom的一款名 ...

  3. C# Array类的浅复制Clone()与Copy()的区别

    1 Array.Clone方法 命名空间:System 程序集:mscorlib 语法: public Object Clone() Array的浅表副本仅复制Array的元素,无论他们是引用类型还是 ...

  4. LeetCode OJ-- Restore IP Addresses

    https://oj.leetcode.com/problems/restore-ip-addresses/ string到int的ip地址格式化. 分别用 i+1,j+1,k+1,表示前三个地址段的 ...

  5. 51Nod 1239 欧拉函数前n项和 杜教筛

    http://www.51nod.com/Challenge/Problem.html#!#problemId=1239 AC代码 #include <bits/stdc++.h> #de ...

  6. (40)C#windows服务控制

    ServiceController类 可以使用 ServiceController 类连接到现有服务并控制其行为. 构造函数 1.ServiceController () ServiceControl ...

  7. codeforces A. Wrong Subtraction

    A. Wrong Subtraction time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. Java调用Python程序

    最近,需要在应用中,需要使用Java程序去调用Python代码,主要有两种实现方式. 一.使用Jython架包 因为调用的Python代码中需要使用Json对象,开始使用jython2.5.2,发现不 ...

  9. Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析--csdn 曹胜欢

    新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对 ...

  10. 利用Thinkphp 5缓存漏洞实现前台Getshell

    0×00 背景 网站为了实现加速访问,会将用户访问过的页面存入缓存来减小数据库查询的开销.而Thinkphp5框架的缓存漏洞使得在缓存中注入代码成为可能.(漏洞详情见参考资料) 本文将会详细讲解: 1 ...