美文网首页功能权限设计
"操作权限"和"数据权限"的设计思路

"操作权限"和"数据权限"的设计思路

作者: 冷风崔 | 来源:发表于2021-09-29 09:18 被阅读0次

最近开发一套教务管理系统,类似ERP系统的软件,根据业务需求需要实现管理员对操作权限和数据权限的管理。

操作权限

这个不用多讲。做开发的朋友都知道RBAC,就是角色和权限控制,可以达到不同角色管理不同菜单或按钮的操作权限,当然维度也可以设计的更高一些,不管怎么说,操作权限都是围绕角色来开展的,目的就是要实现操作的角色化。

数据权限

刚开始设计是想通过角色来搞定数据权限的,但是发现问题很大,比如同样一个部门经理的角色,看到的数据是不一样的,所以,牵扯到数据二字,就应该不和操作二字等同起来。所以我们是通过职位来解决数据权限的,职位也可以叫岗位,是和数据查看范围有关系的,也就是组织结构里的关系。所以在设计数据结构的时候,每个有数据范围的数据实体,都需要具备数据拥有人的字段,比如A部门的小b同学,他创建的数据,只能由A部门的部门经理看到,而同样在角色里具有部门经理的B部门的部门经理是不能看到的。所以延伸出来了一个设计思路,根据数据拥有人,圈定查看范围。数据范围的维度有:全部、本集团、本公司、本部门、自己,五个维度,可以满足大部分业务场景,还有一个维度是自定义维度,可以自定义机构进行设置。这样的设计就达到了数据权限的操作灵活性。

当然有大神自己提出一个业务建议,就是针对数据的每一列,都设定上数据权限,比如员工工资这一列,只有特定的人才能看到,业务合理但时间不够,就没有进步一研究。

代码实现

这个用的是mybatis plus的一个拦截器实现的,贴部门代码给大家借鉴一下。有需要教务系统的可以沟通源码。

mybatis plus的拦截用的是JSql组件一个神奇的sql语句解析器。

欢迎大家留言评论。

相关文章

  • "操作权限"和"数据权限"的设计思路

    最近开发一套教务管理系统,类似ERP系统的软件,根据业务需求需要实现管理员对操作权限和数据权限的管理。 操作权限 ...

  • 权限设计合集

    1.《数据权限设计思路_权限设计数据权限》摘要:方案一:按照岗位体系建立数据权限方案二:针对角色设置数据权限方案三...

  • 权限管理

    权限管理分为 功能权限和数据权限 功能权限: 哪些人可以做什么操作数据权限: 哪些人可以看哪些数据 数据库表设计 ...

  • 权限系统_shiro_验证流程

    权限分为:操作权限、业务权限、数据权限三种 1、操作权限 那么What is Apache Shiro?Apach...

  • 数据库 权限设计

    数据库 权限设计 -系统权限管理设计-通用权限管理设计 之 数据库结构设计 权限 用户 角色 组 用户表

  • 权限系统设计方案

    1权限模型 1.1 权限设计 从业务分类上来讲权限可以分为数据查看权限,数据修改权限等,对应到系统设计中有页面权限...

  • oracle创建对象为什么需要加表空间和schema

    权限管理 首先需要说一下oracle的权限管理,oracle权限分为系统权限和对象权限:系统权限:操作数据库系统的...

  • 【后台系统设计】

    权限数据管理 权限可以分为三种:菜单权限(页面权限),操作权限,数据权限。 菜单权限。举个例子来说:我们使用同一个...

  • 产品 | 权限设计=功能权限+数据权限

    权限设计=功能权限+数据权限 权限管理 Authority Management 目前主要是通过用户、角色、资源三...

  • 数据权限设计思路(摘抄)

    数据权限决定用户能看到什么数据、多少数据量。 我们常接触到的数据访问权限都通过组织机构去划分,在实际应用中,也可能...

网友评论

    本文标题:"操作权限"和"数据权限"的设计思路

    本文链接:https://www.haomeiwen.com/subject/ouphnltx.html