RBAC模型概述以及功能权限数据权限设计思路
RBAC模型概述
1. 什么是RBAC
- RBAC模型:Role-Based Access Control 基于角色得访问控制
- 通俗说,就是,权限不会直接分配到用户,而是分配到用户所拥有得角色
- 这样的好处是什么?
- 好处就是如果用户全体特别大,分配权限就能累死人,基于RBAC更适合企业应用得权限控制
2. RBAC得四大模型
RBAC根据这套模型功能的复杂程度不同,由简单到复杂又可以分为RBAC-0、RBAC-1、RBAC-2、RBAC-3四个层级。
- RBAC-0
RBAC-0是最基础的,就是在用户与角色、角色与权限间建立关系,每种关系均为多对多。
- RBAC-1
RBAC-1是在RBAC-0的基础上,增加了继承关系。就是一个角色只能有另一角色的部分权限,这个角色的权限大小受另一角色权限影响。
简单说,角色2由角色1派生,那么角色2所有得权限必然小于角色1,角色1拥有权限1,2,而角色2只有拥有权限1
- RBAC-2
RBAC-2模型,其实就是角色冲突,一个简单例子,你不能即是老板也是老板秘书,这样关系就乱了
这里就是用户3不能同时拥有角色2,3
- RBAC-3
RBAC-3是RBAC-1与RBAC-2的结合,就是既有继承关系,又有限制条件,基础都一样。
3. 权限管理
- 数据权限
数据权限是指用户是否能够看到某些数据。主要应用在数据有保密要求,或数据量大,需按用户或角色来进行区分时。例如:财务主管在后台可以看到公司所有人的工资流水,但普通员工只能看到自己的工资流水。
在这里,有的同学或许认为,既然我们的权限是跟角色关联,为什么“查看工资流水”这个权限精确到每个用户了呢?
其实这就是RBAC-2的一种,权限与角色关联后增加了限制条件,不过这种限制条件无法在页面上灵活配置。
数据权限的颗粒度由粗到细可以分为菜单级、栏目级、字段级,一般配置页面都可以灵活操作。
- 操作权限
操作权限是指用户是否能够操作对应按钮。需要先有数据权限,才有操作权限,所以需要增加系统自动校验:
- 选择了操作权限,就默认勾选了查看(数据)权限;
- 取消了数据权限,就自动取消了操作权限
以上就是我们做单系统的权限设计分享的内容。在多系统的权限设计中,虽然理论基础一样,但因为涉及到多个系统,所以产生了很多其他问题,需要另外解决。
4. 多级数据权限得控制
有这样一种需求,每个小区管理员之间,只能看到自己小区得数据,很显然他们是同级别得,功能权限相同,但是数据权限不同
对于这种得需求,可以通过硬编码得方式去解决,但是还有一种更好的解决方案
基于 用户——部门——角色——权限 这样的一种方式来解决,部门与角色关联, 类似实际生产生活中的技术部经理和产品部经理的感觉,
这样每个小区可以设置为不同的部门,都是分配一个小区管理员,这样就可以通过部门来划分一个大方向的数据权限了
RBAC模型概述以及功能权限数据权限设计思路相关推荐
- 基于RBAC 权限系统 功能权限 数据权限设计
目录 功能权限 数据权限 权限设计 RBAC 鉴权管理,即权限判断逻辑. 授权管理,即权限分配过程. 功能权限 权限系统设计方案 权限系统就该这么设计 数据权限 数据权限就该这么实现(设计篇) 数据权 ...
- 浅谈权限(功能权限数据权限)
一般企业上的权限部分,都是区分为功能权限和数据权限. 一.功能权限 功能权限,就是用户登录后,能看到哪些菜单,能看到哪些按钮,能执行哪些操作的权限. 一般,功能权限,已经都有很成熟的业内方案和框架了. ...
- JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),团队会努力推出新版本,希望大家多多支持!!
JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源), 今年团队会努力不断推出新版本,希望大家多多支持!! 发布地址: ...
- 一个页面区分管理者和普通用户如何设计_产品经理要做的操作权限/数据权限设计...
产品经理在工作中还需要知道一个:用户权限设计能力.权限设计理念贯穿于后台产品.以及用户前端产品. 权限能力包括两类:数据权限.系统操作权限 有的人会好奇,为什么前端产品会有有权限管理的要求?接下来我将 ...
- DL之Keras:基于Keras框架建立模型实现【预测】功能的简介、设计思路、案例分析、代码实现之详细攻略(经典,建议收藏)
DL之Keras:基于Keras框架建立模型实现[预测]功能的简介.设计思路.案例分析.代码实现之详细攻略(经典,建议收藏) 目录 Keras框架使用分析 Keras框架设计思路 案例分析 代码实现 ...
- SaaS权限控制:设计思路和表分析
权限设计 针对这样的需求,在有些设计中可以将菜单,按钮,后端API请求等作为资源,这样就构成了基于RBAC的另一种授权模型(用户-角色-权限-资源).在SAAS-HRM系统的权限设计中我们就是才用了此 ...
- rbac模型的特点和优势_权限体系设计:融合了组织和岗位的权限模型长啥样?...
文章从RBAC的基本原理出发,结合案例对权限设计中一个职位对应多个岗位的的情况进行了说明,并分享了相关权限模型,供大家一起参考和学习. 传统RBAC与现实的距离 传统的RBAC(基于角色的访问权限控制 ...
- linux 内核抓包功能实现基础(一)设计思路
linux平台下面已经有了抓包工具tcpdump, 非常经典,使用起来也非常方便.但是因为某些系统架构上或者其它方面的原因,有时候tcpdump并不能满足产品实际需要,公司的产品是电信运营商相关的软硬 ...
- 企业数据仪表盘设计思路,如何设计自己的BI产品
现在,很多企业的高层领导喜欢建数据仪表盘或者管理驾驶舱,甚至用巨大无比的显示屏阵列来展示各种关键业务指标KPI,那成功设计一个数据仪表盘需要如何做?又需要注意什么问题呢? 数据仪表盘是数据可视化的一 ...
最新文章
- java数据类型(整型、浮点型、char类型、boolean型、类型转换)
- 别让for循环毁了你的程序(一)
- MVC中如何实现本地化的解决方案
- [转载] .NET 中可以有类似 JVM 的幻像引用吗?
- CleanCodeHandbook Chapter 5: Bit Manipulation(33-34)
- html阶梯统计,html,_有什么图表可以显示阶梯费率,html - phpStudy
- flask框架_Flask框架的入门:Hello world
- HDU1286 找新朋友【欧拉函数】
- Django实战(一)-----用户登录与注册系统2(数据模型、admin后台、路由视图)
- Javascript特效:左侧二维码的显示和隐藏
- 《Head first HTML与CSS 第二版》读书笔记 第一章 了解HTML
- python敏感词过滤代码简单_DFA敏感词过滤算法的python实现
- 最小生成树MST详解
- Revel框架基本使用和搭建教程
- 祝萍:后疫情时代,医美运营既要走心也要反套路
- 用iframe的方式 解决 window.open() 不能打开多个窗口的问题
- Unity3D 如何干净的解除父子关系
- 字节辟谣被裁员工与 HR 互殴;苹果头显多个新功能曝光;谷歌希望 RISC-V 成为 T1 级 Android 架构|极客头条
- 2022年美化UI二开某技术导航天下PHP源码
- Java1.7版本解码base64_JDK Base64 编解码 1.7 和 1.8 的坑
热门文章
- 16、网络通信交换机系统知识技能资料归纳1
- [转载自 李国杰] 对计算机科学的反思
- AssemblyInfo.cs文件的作用
- Ubuntu20.04配置pytorch深度学习环境
- C++小游戏——恋爱指数测试器O(∩_∩)O
- 自然语言处理在化工的应用
- 米9 android 系统耗电,小米9耗电严重,官方给出合理解释,大家怎么看
- Apple Watch Series 6和Apple Watch Series SE 外观价格曝光
- 4.hda设备中的pcm文件 (第七部分)
- 推荐8款不错的HTML5文本编辑器