权限管理系统中权限模块的实现

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限管理系统中权限模块的实现相关的知识,希望对你有一定的参考价值。

一 数据权限的概述

 

 

 

二  数据权限的操作步骤

2.1 思想

数据权限的控制是通过部门的菜单展示来实现的。

2.2  用到数据权限的地方

1.用户添加时候,选择部门的下拉框

2 部门管理的列表

3.角色管理,新增弹框页面,选择部门的树状菜单

 2.3 部门管理中部门列表的数据权限

2.3.1 . controller层加载部门列表,加载全部部门信息

2.3.2. sevice层逻辑:将当前登录用户所拥有的部门id设置成查询部门列表的where的筛选条件

2.3.3.定义一个commonDataservice层:获取用户所具有的所有部门ids

1.在commonDataService类中的getCurrUserDataDeptIds()方法,获取当前登录用户的部门数据ids列表

2.如果当前登录用户id为超级管理员,则加载全部菜单信息,如下图所示: 

3.如果当前登录用户id不为超级管理员,通过用户id,获取sys_role_dpet,sys_user_role这两张表进行关联(已拥有制定部门的权利且未占用),获取该登录用户所属的部门id

4.用户已经分配且已经拥有的部门(已拥有制定部门的权利且已占用),作用是选择了一个一级部门,那么一级部门所包含的二级部门,三级部门等也要赋值给用户,也就是说拥有的部门下面还有子部门,那么也具有该部门以及子部门的拥有权,使用递归算法全部遍历获得。如下图所示

 

5.将当前登录用户所拥有的部门id通过逗号进行拼接

 2.4 用户新增弹框中的部门列表的数据权限

同样调用的是SysDepartController中的depart/list的方法,逻辑见2.3节

 2.5 角色管理中新增弹框中的部门列表的数据权限

同样调用的是SysDepartController中的depart/list的方法,逻辑见2.3节

 

2.6 操作案例

例如用户debug用户的角色为操作权限角色,分配部门为开发一部下面的测试部门

 

2.使用超级管理员,给操作权限角色分配数据权限

3.使用debug用户登录查询

 

 

 

以上是关于权限管理系统中权限模块的实现的主要内容,如果未能解决你的问题,请参考以下文章

nacos源码之Auth(权限)模块-2(权限管理与权限配置)

开发框架模块视频系列-- 权限管理模块介绍

基于SSM+Shiro+Bootstrap实现用户权限管理系统

基于SSM+Shiro+Bootstrap实现用户权限管理系统

VUE项目实战31权限管理-实现权限列表

java web的用户角色权限管理是如何实现的?