基于RBAC 权限系统 功能权限 数据权限设计
目录
- 功能权限
- 数据权限
- 权限设计 RBAC
- 鉴权管理,即权限判断逻辑。
- 授权管理,即权限分配过程。
功能权限
权限系统设计方案
权限系统就该这么设计
数据权限
数据权限就该这么实现(设计篇)
数据权限就该这么实现(实现篇)
权限系统中的数据权限就该这么设计!
yudao-spring-boot-starter-biz-data-permission
权限设计 RBAC
很多人都知道以角色为基础的权限管理设计(RBAC),但是大部分人似懂非懂,不知道完整的权限管理系统都包括哪些内容。
在此以权限管理的使用场景来说明一下完整的权限管理内容。
鉴权管理,即权限判断逻辑。
最基本的权限管理就是菜单管理,用户没有权限的功能模块在菜单节点上是不显示的。(很多人以为这就是权限管理!)
示例:普通业务人员登录系统后,是看不到【用户管理】菜单的。功能权限管理,B/S系统的功能体现为URL,所以功能权限管理主要是针对URL访问的管理。(很多人都不清楚权限管理的对象是什么?)
示例:
经过授权,部门经理可以查看【用户管理】菜单,并查看部门用户信息,但权限设计要求,该部门经理没有添加用户的权限。
所以在访问【添加用户】的功能(URL)时,应该有没有授权的提示信息。
同时在【用户管理】页面上,【添加用户】的按钮应该灰色显示,不能点击。行级权限管理
示例:
论坛管理员,权限设计要求 A能管理论坛 【新闻版块】,不能管理论坛 【技术交流】
此时的权限设计就应该根据论坛的相应ID来判断权限信息。列级权限管理
示例:
业务权限设计要求,除销售人员以外,其他用户不能看到客户的联系方式信息。
此时的权限设计要判断相应的字段(列)是否可以显示。组织机构/部门级数据权限管理
示例:
业务权限设计要求,销售一部的人员只能看到本部门的销售订单,销售二部的人员只能看到本部门的销售订单,但销售经理可以同时看到
销售一部和销售二部的销售订单。
此时的权限设计就要根据销售订单数据本身的部门属性来做判断范围型业务数据权限管理
示例:
大卖场销售人员在下销售订单时,要选择相应的产品所在仓库信息。
业务权限设计要求,【国美】的销售人员在选择仓库的下拉列表中不能看到【广州仓库】,而【大中电器】的销售人员在选择仓库的下拉列表中不能看到【北京顺义仓库】
授权管理,即权限分配过程。
以上的权限管理内容都要通过系统的授权功能来分配给具体的用户,授权功能应该足够灵活。
直接对用户授权,直接分配到用户的权限具有最优先级别。
对用户所属岗位授权,用户所属岗位信息可以看作是一个分组,和角色的作用一样,但是每个用户只能关联一个岗位信息。
对用户所属角色授权,用户所属角色信息可以看作是一个权限分组,每个用户可以关联多个角色。
角色直接关联具体的功能权限(URL),也可以关联负权限,即此角色关联的权限不能使用负权限功能。负权限具有优先级别。
分级授权,系统管理员可以将自己拥有的权限信息授权给其他用户。即可以设置分级管理员和超级管理员。
基于RBAC 权限系统 功能权限 数据权限设计相关推荐
- 权限系统中的数据权限就该这么设计,yyds!
点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...
- 权限系统中的数据权限就该这么设计,yyds
在项目实际开发中我们不光要控制一个用户能访问哪些资源,还需要控制用户只能访问资源中的某部分数据. 控制一个用户能访问哪些资源我们有很成熟的权限管理模型即RBAC,但是控制用户只能访问某部分资源(即我们 ...
- 如何在应用系统中实现数据权限的控制功能
在很多应用行业里面,都对数据的权限做了特别的声明,如对于销售,财务的数据,它们是非常敏感的,因此要求对数据权限进行控制,对于基于集团性的应用系统而言,就更多需要控制好各自公司的数据了.如默认只能看本公 ...
- JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),团队会努力推出新版本,希望大家多多支持!!
JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源), 今年团队会努力不断推出新版本,希望大家多多支持!! 发布地址: ...
- 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】
1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...
- 基于智慧防雷系统的大数据应用技术研究
基于智慧防雷系统的大数据应用技术研究 一. 引言 最近几年随着大数据技术的快速发展和应用,智慧城市随即也被正式提出,而且我们也可以深刻感受到"智慧"正在慢慢改变我们的生活方式和城 ...
- 基于matlab fdma传输系统设计,基于matlab频分复用系统的研究与仿真设计3695.doc
基于matlab频分复用系统的研究与仿真设计3695.doc 目录1设计任务及要求111设计任务112设计要求12设计作用及其目的13设计过程及原理231频分复用通信系统模型建立232语音信号采样53 ...
- 权限开发手册,数据权限和接口权限配置
权限开发手册 一般来说,权限有许多种,我们经常用到的一般有操作权限和数据权限两种. 功能权限 所谓操作权限就是有或者没有做某种操作的权限,具体表现形式就是你看不到某个菜单或按钮,当然也有的是把菜单或按 ...
- django权限系统实现步骤_Django权限机制的实现
django-permission 本文涉及的技术,已应用于我基于django 1.8+ 开发的博客系统--MayBlog,欢迎交流. 1. Django权限机制概述 权限机制能够约束用户行为,控制页 ...
最新文章
- java 二维码生成和解析
- modelandview 可以返回html么_Python: 爬虫网页解析工具lxml.html(一)
- yum 安装mysql的位置_Yum安装MySQL以及相关目录路径和修改目录
- HRESULT返回值说明
- 20万DBA最关注的11个问题
- eclipse + mapxtreme 代码示例1
- ECMAScript 6细说转码的常见的几种方案
- c语言打字游戏程序设计报告,2016打字游戏程序设计报告.doc
- c语言中药品管理系统报告,C语言 药品管理系统.doc
- 1.SCRT怎么连接Ensp里面的设备???
- 惠普打印机如何设置扫描到计算机,惠普打印机怎样扫描文件到电脑
- 使用Scrapy(二)编写抓取规则
- 您似乎与家庭管理员不在同一个国家/地区,油管换区过程记录
- int、time和timestamp区别
- 爬动的蠕虫(C语言)
- 绝对值表达式的最大值(Java)
- 【云计算的1024种玩法】一.半小时轻松搭建属于自己的Discuz论坛
- vue3 预览docx文件
- Windows10系统如何安装git
- 拆卸计算机主机的详细注意事项,台式电脑(拆卸/安装)CPU最全图文教程