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. 权限管理

  1. 数据权限

数据权限是指用户是否能够看到某些数据。主要应用在数据有保密要求,或数据量大,需按用户或角色来进行区分时。例如:财务主管在后台可以看到公司所有人的工资流水,但普通员工只能看到自己的工资流水。
在这里,有的同学或许认为,既然我们的权限是跟角色关联,为什么“查看工资流水”这个权限精确到每个用户了呢?
其实这就是RBAC-2的一种,权限与角色关联后增加了限制条件,不过这种限制条件无法在页面上灵活配置。
数据权限的颗粒度由粗到细可以分为菜单级、栏目级、字段级,一般配置页面都可以灵活操作。

  1. 操作权限

操作权限是指用户是否能够操作对应按钮。需要先有数据权限,才有操作权限,所以需要增加系统自动校验:

  • 选择了操作权限,就默认勾选了查看(数据)权限;
  • 取消了数据权限,就自动取消了操作权限

以上就是我们做单系统的权限设计分享的内容。在多系统的权限设计中,虽然理论基础一样,但因为涉及到多个系统,所以产生了很多其他问题,需要另外解决。

4. 多级数据权限得控制

有这样一种需求,每个小区管理员之间,只能看到自己小区得数据,很显然他们是同级别得,功能权限相同,但是数据权限不同
对于这种得需求,可以通过硬编码得方式去解决,但是还有一种更好的解决方案
基于 用户——部门——角色——权限 这样的一种方式来解决,部门与角色关联, 类似实际生产生活中的技术部经理和产品部经理的感觉,
这样每个小区可以设置为不同的部门,都是分配一个小区管理员,这样就可以通过部门来划分一个大方向的数据权限了

RBAC模型概述以及功能权限数据权限设计思路相关推荐

  1. 基于RBAC 权限系统 功能权限 数据权限设计

    目录 功能权限 数据权限 权限设计 RBAC 鉴权管理,即权限判断逻辑. 授权管理,即权限分配过程. 功能权限 权限系统设计方案 权限系统就该这么设计 数据权限 数据权限就该这么实现(设计篇) 数据权 ...

  2. 浅谈权限(功能权限数据权限)

    一般企业上的权限部分,都是区分为功能权限和数据权限. 一.功能权限 功能权限,就是用户登录后,能看到哪些菜单,能看到哪些按钮,能执行哪些操作的权限. 一般,功能权限,已经都有很成熟的业内方案和框架了. ...

  3. JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),团队会努力推出新版本,希望大家多多支持!!

     JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),            今年团队会努力不断推出新版本,希望大家多多支持!! 发布地址: ...

  4. 一个页面区分管理者和普通用户如何设计_产品经理要做的操作权限/数据权限设计...

    产品经理在工作中还需要知道一个:用户权限设计能力.权限设计理念贯穿于后台产品.以及用户前端产品. 权限能力包括两类:数据权限.系统操作权限 有的人会好奇,为什么前端产品会有有权限管理的要求?接下来我将 ...

  5. DL之Keras:基于Keras框架建立模型实现【预测】功能的简介、设计思路、案例分析、代码实现之详细攻略(经典,建议收藏)

    DL之Keras:基于Keras框架建立模型实现[预测]功能的简介.设计思路.案例分析.代码实现之详细攻略(经典,建议收藏) 目录 Keras框架使用分析 Keras框架设计思路 案例分析 代码实现 ...

  6. SaaS权限控制:设计思路和表分析

    权限设计 针对这样的需求,在有些设计中可以将菜单,按钮,后端API请求等作为资源,这样就构成了基于RBAC的另一种授权模型(用户-角色-权限-资源).在SAAS-HRM系统的权限设计中我们就是才用了此 ...

  7. rbac模型的特点和优势_权限体系设计:融合了组织和岗位的权限模型长啥样?...

    文章从RBAC的基本原理出发,结合案例对权限设计中一个职位对应多个岗位的的情况进行了说明,并分享了相关权限模型,供大家一起参考和学习. 传统RBAC与现实的距离 传统的RBAC(基于角色的访问权限控制 ...

  8. linux 内核抓包功能实现基础(一)设计思路

    linux平台下面已经有了抓包工具tcpdump, 非常经典,使用起来也非常方便.但是因为某些系统架构上或者其它方面的原因,有时候tcpdump并不能满足产品实际需要,公司的产品是电信运营商相关的软硬 ...

  9. 企业数据仪表盘设计思路,如何设计自己的BI产品

    ​现在,很多企业的高层领导喜欢建数据仪表盘或者管理驾驶舱,甚至用巨大无比的显示屏阵列来展示各种关键业务指标KPI,那成功设计一个数据仪表盘需要如何做?又需要注意什么问题呢? 数据仪表盘是数据可视化的一 ...

最新文章

  1. java数据类型(整型、浮点型、char类型、boolean型、类型转换)
  2. 别让for循环毁了你的程序(一)
  3. MVC中如何实现本地化的解决方案
  4. [转载] .NET 中可以有类似 JVM 的幻像引用吗?
  5. CleanCodeHandbook Chapter 5: Bit Manipulation(33-34)
  6. html阶梯统计,html,_有什么图表可以显示阶梯费率,html - phpStudy
  7. flask框架_Flask框架的入门:Hello world
  8. HDU1286 找新朋友【欧拉函数】
  9. Django实战(一)-----用户登录与注册系统2(数据模型、admin后台、路由视图)
  10. Javascript特效:左侧二维码的显示和隐藏
  11. 《Head first HTML与CSS 第二版》读书笔记 第一章 了解HTML
  12. python敏感词过滤代码简单_DFA敏感词过滤算法的python实现
  13. 最小生成树MST详解
  14. Revel框架基本使用和搭建教程
  15. 祝萍:后疫情时代,医美运营既要走心也要反套路
  16. 用iframe的方式 解决 window.open() 不能打开多个窗口的问题
  17. Unity3D 如何干净的解除父子关系
  18. 字节辟谣被裁员工与 HR 互殴;苹果头显多个新功能曝光;谷歌希望 RISC-V 成为 T1 级 Android 架构|极客头条
  19. 2022年美化UI二开某技术导航天下PHP源码
  20. Java1.7版本解码base64_JDK Base64 编解码 1.7 和 1.8 的坑

热门文章

  1. 16、网络通信交换机系统知识技能资料归纳1
  2. [转载自 李国杰] 对计算机科学的反思
  3. AssemblyInfo.cs文件的作用
  4. Ubuntu20.04配置pytorch深度学习环境
  5. C++小游戏——恋爱指数测试器O(∩_∩)O
  6. 自然语言处理在化工的应用
  7. 米9 android 系统耗电,小米9耗电严重,官方给出合理解释,大家怎么看
  8. Apple Watch Series 6和Apple Watch Series SE 外观价格曝光
  9. 4.hda设备中的pcm文件 (第七部分)
  10. 推荐8款不错的HTML5文本编辑器