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