开发指南专题十一:JEECG微云快速开发平台--基础用户权限
2014-05-22 13:54
567 查看
开发指南专题十一:JEECG微云快速开发平台--基础用户权限
基本概念
权限管理模块涉及到的实体有:用户、角色和系统资源(包括系统菜单、页面按钮等)。用户可以拥有多个角色,角色可以被分配给多个用户。而权限的意思就是对某个资源的某个操作.一般通用的权限管理模块规定:所谓资源即应用系统中提供的要进行鉴权才能访问的资源(比如各类数据,系统菜单);所谓操作即增加、修改、删除、查询等操作。
权限模型
用户权限模型,指的是用来表达用户信息及用户权限信息的数据模型。即能证明“你是谁?”、“你能访问哪些受保护资源?”。
用户与角色之间构成多对多关系。表示同一个用户可以拥有多个角色,一个角色可以被多个用户所拥有。
角色与资源之间构成多对多关系。表示同一个资源可以被多个角色访问,一个角色可以访问多个资源。
权限设计模型如图81所示。
![](http://img.blog.csdn.net/20140523122808046?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
权限设计及权限管理的目标包括:
1) 对用户授予相应的角色
2) 对角色授予不同的菜单
3) 对角色授予不同的操作按钮权限
4) 进行数据级别的权限控制(行级别、列级别)
![](http://img.blog.csdn.net/20140523123055750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
按钮级别的权限依赖于菜单权限,也就是说,需要先为角色分配菜单,在已分配的菜单中,可以选择可以操作的按钮。
按钮权限的添加在菜单管理页面,点击【按钮设置】,设置该菜单页面相关的操作按钮,如图83所示。
![](http://img.blog.csdn.net/20140523123332000?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
按钮权限的分配在角色管理页面,在权限设置时,先为角色分配菜单,点击相应的菜单,在右侧的“操作按钮列表”面板中显示该菜单可分配的操作按钮,如图84所示。
![](http://img.blog.csdn.net/20140523123426390?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
开发说明
在JEECG系统中,可以通过系统的全局变量配置来决定是否启用按钮权限。如下:
DateGridTag中根据系统的配置进行按钮权限的控制:
(1)系统开启按钮权限并且DateGridTag里面相关的按钮操作有配置则根据配置做按钮权限的控制;
(2)系统开启按钮权限但是DateGridTag里面相关的按钮操作没有配置则不作按钮权限的控制;
(3)系统关闭按钮权限则所有的按钮不做按钮权限的控制;
(4)admin用户按钮权限不做限制。
操作步骤
①按钮设置:进入【系统管理】→【菜单管理】→【常用插件】,点击【单表模型】的【按钮设置】
![](http://img.blog.csdn.net/20140523123607828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20140523123639640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20140523123755093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20140523123831625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20140523123908937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
②代码中对按钮加入操作代码。
![](http://img.blog.csdn.net/20140523124101078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
③角色管理中对菜单设置按钮权限
![](http://img.blog.csdn.net/20140523124044640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
④开启按钮权限
![](http://img.blog.csdn.net/20140523124151203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
⑤以角色为【普通用户】的账户登录系统
![](http://img.blog.csdn.net/20140523124323546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
开发指南专题十一:JEECG微云快速开发平台--基础用户权限
11.1. 权限设计
基本概念权限管理模块涉及到的实体有:用户、角色和系统资源(包括系统菜单、页面按钮等)。用户可以拥有多个角色,角色可以被分配给多个用户。而权限的意思就是对某个资源的某个操作.一般通用的权限管理模块规定:所谓资源即应用系统中提供的要进行鉴权才能访问的资源(比如各类数据,系统菜单);所谓操作即增加、修改、删除、查询等操作。
权限模型
用户权限模型,指的是用来表达用户信息及用户权限信息的数据模型。即能证明“你是谁?”、“你能访问哪些受保护资源?”。
用户与角色之间构成多对多关系。表示同一个用户可以拥有多个角色,一个角色可以被多个用户所拥有。
角色与资源之间构成多对多关系。表示同一个资源可以被多个角色访问,一个角色可以访问多个资源。
权限设计模型如图81所示。
11.2. 权限设计目标
权限设计及权限管理的目标包括:1) 对用户授予相应的角色
2) 对角色授予不同的菜单
3) 对角色授予不同的操作按钮权限
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所示。11.3.3. 按钮权限
使用说明按钮级别的权限依赖于菜单权限,也就是说,需要先为角色分配菜单,在已分配的菜单中,可以选择可以操作的按钮。
按钮权限的添加在菜单管理页面,点击【按钮设置】,设置该菜单页面相关的操作按钮,如图83所示。
按钮权限的分配在角色管理页面,在权限设置时,先为角色分配菜单,点击相应的菜单,在右侧的“操作按钮列表”面板中显示该菜单可分配的操作按钮,如图84所示。
开发说明
在JEECG系统中,可以通过系统的全局变量配置来决定是否启用按钮权限。如下:
/resources/sysConfig.properties 中button.authority.jeecg参数值如下: true(开启按钮权限) false(关闭按钮权限) 当为false时默认拥有所有按钮权限,如(3) |
(1)系统开启按钮权限并且DateGridTag里面相关的按钮操作有配置则根据配置做按钮权限的控制;
(2)系统开启按钮权限但是DateGridTag里面相关的按钮操作没有配置则不作按钮权限的控制;
(3)系统关闭按钮权限则所有的按钮不做按钮权限的控制;
(4)admin用户按钮权限不做限制。
操作步骤
①按钮设置:进入【系统管理】→【菜单管理】→【常用插件】,点击【单表模型】的【按钮设置】
②代码中对按钮加入操作代码。
③角色管理中对菜单设置按钮权限
④开启按钮权限
⑤以角色为【普通用户】的账户登录系统
相关文章推荐
- 专题开发十二:JEECG微云快速开发平台-基础用户权限
- 专题开发十二:JEECG微云高速开发平台-基础用户权限
- 开发指南专题七:JEECG微云快速开发平台查询HQL过滤器
- 开发指南专题十六:JEECG微云快速开发平台Excel导出
- 开发指南专题八:JEECG微云快速开发平台数据字典
- 开发指南专题一: JEECG微云快速开发平台前言
- 开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出
- 开发指南专题二:JEECG微云快速开发平台JEECG框架初探
- 开发指南专题一: JEECG微云快速开发平台前言
- 开发指南专题十四:JEECG微云快速开发平台MiniDao 介绍
- 开发指南专题九:JEECG微云快速开发平台-表单校验组件ValidForm
- 开发指南专题九:JEECG微云快速开发平台-表单校验组件ValidForm
- 开发指南专题七:JEECG微云快速开发平台查询HQL过滤器
- 开发指南专题四:JEECG微云快速开发平台--JEECG开发环境搭建
- 开发指南专题三:JEECG微云快速开发平台项目编码规范
- 开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出
- 开发指南专题十:JEECG微云快速开发平台--表单校验组件ValidForm
- 开发指南专题六:JEECG微云快速开发平台代码生成
- 开发指南专题六:JEECG微云高速开发平台代码生成
- 开发专题指南: JEECG高速微云开发平台前言