童话说说技术创业美文职业
快好知
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

基于RBAC模型的权限设计:如何设计系统权限体系?

11月3日 温柔冢投稿
  RBAC目前使用最为广泛的权限模型,笔者通过平常工作及工作外的积累,整理了几种比较经典的权限体系,希望对大家有所帮助!
  一、什么是RABC
  RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限(如下图),从而达到用户和权限解耦的目的。
  RABC的好处
  职能划分更谨慎。对于角色的权限调整不仅仅只影响单个用户,而是会影响关联此角色的所有用户,管理员下发回收权限会更为谨慎;
  便于权限管理。对于批量的用户权限调整,只需调整用户关联的角色权限即可,无需对每一个用户都进行权限调整,既大幅提升权限调整的效率,又降低漏调权限的概率;
  在不断的发展过程中,RBAC也因不同的需求而演化出了不同的版本,目前主要有以下几个版本:
  RBAC0,这是RBAC的初始形态,也是最原始、最简单的RBAC版本;
  RBAC1,基于RBAC0的优化,增加了角色的分层(即:子角色),子角色可以继承父角色的所有权限;
  RBAC2,基于RBAC0的另一种优化,增加了对角色的一些限制:角色互斥、角色容量等;
  RBAC3,最复杂也是最全面的RBAC模型,它在RBAC0的基础上,将RBAC1和RBAC2中的优化部分进行了整合;
  二、基于RBAC的几种权限体系设计
  1、用户角色权限
  这种权限体系其实就是RBAC0的模式了。这里面又包含了2种:
  用户和角色是多对一关系,即:一个用户只充当一种角色,一种角色可以有多个用户担当;
  用户和角色是多对多关系,即:一个用户可同时充当好几种角色,一种角色可以有多个用户担当;
  如上图:对于左边的用户角色对应,每个人只能同时拥有一种角色,但是同一个角色里边,可能会含有多个用户(如:李四和王麻子都是业务员);而右边的用户角色对应,是在左边的基础上,增加了一个用户可拥有多种角色的情况(如:小马哥既是经理,也要负责财务的工作);
  那么,什么时候该使用多对一的权限体系,什么时候又该使用多对多的权限体系呢?
  我的建议是:尽量可能地使用多对多的权限体系。如果这个系统的功能比较单一、使用人员较少、岗位权限相对清晰且不会出现兼岗的情况,这种情况也可以考虑用多对一的权限体系。
  2、用户组织角色权限
  一般公司的业务管理系统,都有数据私密性的要求:哪些人可以看到哪些数据,哪些人不可以看到哪些数据。这个时候,我们就需要把这些东西也考虑到你的权限体系内了。
  假设上图是一家公司业务部门的组织架构图,公司要求你基于这个组织架构设计一个业务管理系统,并要求系统需要满足不同用户的数据私密性,比如:“张三”登录时,只能看到“张三”负责的数据;“张三”的领导登录时,能看到“团队A”的所有业务员负责的数据,但看不到其他团队业务员负责的数据等等。
  在这种情况下,上一种权限体系就不适用了,但我们可以对其进行一些小改造后,即可达到数据管控的目的,如下图:
  在“用户角色权限”的基础上,我们增加了用户与组织的关联关系,组织决定了用户的数据可视权限。但要想真正达到这个效果,我们还需要做2件事:
  组织层级划分。如下图,我们需要对组织进行梳理,并划分层级;
  数据可视权限规则制定。比如:上级组织职能看到下级组织员工负责的数据,而不能看到其他平级组织及其下级组织的员工数据等。
  通过以上两点,系统就可以在用户登录时,自动判断要给用户展示哪些数据了!
  3、用户组织岗位角色权限
  第三种权限体系又是在第二种权限体系上进行优化的,增加了用户与岗位的关联关系,示意图如下:
  增加岗位有以下几点好处:
  识别用户的主要身份。一个人可能身兼多职(多个角色),但是他的主要职能是固定的,那怎么告诉系统用户的主要职能是什么呢?答案就是:通过岗位!拿上面的小马哥举例:小马哥虽然身兼经理和财务两种身份,但他的本职工作是“经理”,因此,他的系统岗位应该“经理”。当他登录时,系统会识别他的身份为“经理”,只不过这个“经理”刚好兼具了其他岗位的职能而已;
  通过“组织岗位”关联,快速甄别用户岗位。公司在不断地发展的过程中,系统的用户角色也会不断增加,当角色达到一定数量以后,管理员每新增一个用户都要花相当的时间去寻找角色。引入岗位后,可将组织和岗位、岗位和角色提前进行关联,配置账号时,管理员只要选定组织,系统就给出与该组织关联的岗位,而这些岗位,又是提前关联好角色的,选择起来,既方便又高效!
  三、总结
  以上是基于RBAC模型的三种权限体系,不难看出,三种权限体系的本质都是用户和权限进行解耦,以达到权限的灵活运用。
  在最后,也给大家留下两个小问题,大家有兴趣的话可以思考下并在评论区写出你的答案哦:
  在不增加“组织”的情况下(即:第一种权限体系),能否达到数据私密性的控制?如何达到?
  在第二种权限体系中,如何做到将“团队A”的员工和管理者设置在同一个组织下,但又能保证员工只能看到自己的数据,而管理者可以看到该团队所有员工的数据?
投诉 评论 转载

浅析APP之间相互交互的原理APP之间相互调用并且传输数据经常会出现在实际需求中,我们应该对这样的基本功能的实现原理有一个简单的认识,这样也方便工作中和程序哥哥们的沟通。在产品设计中,经常会遇到AP……以物业公告为例,谈谈功能设计的一些事产品之路上,逐渐发现:把一件简单的事情做好,并不简单。作为乙方的产品经理,从需求分析到产品交付,需求方除了领导,还有甲方和运营;初始需求是由甲方提出的,更多深层次的需求需……游戏化系列2:建立成就感的2大要素上一篇分享了核心驱动力1:史诗意义与使命感在产品中的应用,这章将继续分享,如何在产品中引入成就感,增加用户对产品的好感与依赖。让我们先来回顾一下上一篇的内容,游戏化并不是……《网页设计综合指南》(一):网页设计看这篇文章就够了设计师和开发人员在构建网站时,需要考虑很多事情,从视觉外观到功能设计。为了简化这个过程,我们准备了这个指南。限于篇幅限制,将这一指南分为三部分,此为第一部分内容。本文将重……浅析:以百度地图洞悉场景化应用产品的场景化应用,一方面体现了产品的核心优势,另一方面也帮助用户提高了使用效率。尤其是伴随着VR、AR的不断发展,场景化应用愈发受到重视,可谓产品即场景,场景即生态。今天我们就……转型AI产品经理需要掌握的硬知识(一):AI产品经理能力模型关于AI常见基础概念,你了解多少?近几年,从亚马逊,Facebook,到谷歌,微软,再到国内的BAT,全球最具影响力的技术公司都将目光转向了人工智能(AI)。2016年A……基于RBAC模型的权限设计:如何设计系统权限体系?RBAC目前使用最为广泛的权限模型,笔者通过平常工作及工作外的积累,整理了几种比较经典的权限体系,希望对大家有所帮助!一、什么是RABCRBAC(基于角色的权限控制……Flipboard中国CEO赵晶:从打造产品到打造品牌,产品11月中旬,由人人都是产品经理与腾讯大讲堂联合主办的2017中国产品经理大会在北京北苑大酒店完美落幕。Flipboard中国CEO赵晶从信息、新闻和算法开始,以Flipboar……浅析企业后台的数据表格页面设计本文作者主要是对企业后台的数据表格页面作一个简单的阶段性总结,enjoy近半年的工作中经常接触到后台页面的设计,企业后台数据的展示通常都是由大量的表格以及表单组成的,初接……平台型产品如何搭建财务系统?关于平台型产品的财务系统搭建,作者分享了一些自己的看法,希望能够给你带来一些帮助。平台一般是指整体业务逻辑可以复用的产品形态,可以提供一对多的服务。以电商平台为例,一个电……教育产品经理创新思维:对话式学习如何开启个性化学习新范式?AI时代已经来临,AI正在重塑原有的各行各业,不管是互联网还是传统行业。炙手可热的智能便利店、智造机器人、智能银行客服等,都在快速的替代原有生产链条中人这个角色;也在极速……从小白到资深UIUX设计师的7个步骤努力自学和不断地练习,是你成为一名优秀设计师唯一的途径。最近,我收到了很多人的类似问题:我怎样才能更好地了解UIUX相关知识?我是一个程序员市场经理社会媒体策……
没见过这么夸自己的品牌文案构思一份策划案的终极方法10种修辞,20个实操技巧,轻松写出好文案让你的文案,跑进用户耳朵里选对”心理账户“:你的文案能让用户不停买买买《我们是真正的朋友》收官,文案优秀!文案写不好,原来都是这些“点”在作怪这烧烤文案,滋滋滋香文案为什么需要节奏感?如何输出?这套文案,写给25岁的独立女性好的文案创意,不像广告敦煌研究院的文案,民族IP中的佼佼者
娱乐圈的残酷真相,在丫蛋的身上体现的淋漓尽致小学生写春天的作文600字走进春天乌克兰第一夫人西装穿出甜美感,笑容很有感染力,衣品绝佳给爸爸的生日祝福语我读懂了父爱初中作文教师工作总结高校精选多篇鱼价为什么上涨了?热文聚热点网 实体店搞活动还无休止的打折?4大赠品引流模。。。热伤风感冒传染吗口袋妖怪粉丝设计MechaSylveon与我的男朋友有关的作文百度知道算法排名规则

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界