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

后台基于RBAC模型的用户与权限设计

5月13日 温柔冢投稿
  本文作者结合实际经验,跟大家谈谈后台基于RBAC模型的用户与权限是如何设计的,一起来看看
  一、项目背景
  1。1需求来源
  前段时间,笔者所在公司收到了多个客户对后台权限和角色的需求。讨论发现,现有的产品后台架构并不能很好的满足用户需求,所以为了满足这些客户的需求并为之后可能存在的业务拓展打下基础,我们决定对现有产品的后台用户体系进行迭代。
  1。2需求的拆解
  通过过滤需求,我们发现其实用户的需求主要是两类:
  是要求我们的用户体系可以承载用户多级分销的业务模式并满足各级分销之间数据权限的要求;
  是要求我们完善对用户权限的控制。
  二、理论依据
  涉及到后台用户管理系统,绕不开的概念就是权限,任何一个账号都会有自己的用例。但是多数情况下,我们对部分账号的用例会做一些限制,如果直接将这种限制加在账号上,就会产生二个问题:
  每个账号都要配置很麻烦;
  无法批量修改一类用户的权限。
  所以角色的诞生就呼之欲出了,我们通过对权限集的抽象,创立了角色,通过修改角色,来达到控制拥有该角色的账号的权限修改的目的。
  权限可以分为数据权限和功能权限两大类:
  数据权限顾名思义,就是账号能查看多少数据,如何实现A部门与B部门之间相互不能查看业务数据,这个就涉及到数据权限;
  功能权限按照范围以大致菜单权限和按钮权限,按照操作可以大致分为查看和编辑权限。
  2。1RBAC0模型
  2。1。1简述
  RBAC0模型的特点就是用户和角色是多对多的关系,同一个用户拥有多个角色的属性,我们通过组织这个概念来构建组织架构,从而实现对角色数据权限的分配。这样单个用户账号拥有的全部权限就是他所在组织的权限的累加。
  2。1。2举例
  在RBAC0模型中,A用户负责X组织的业务,B用户负责Y组织的财务工作。正常情况下,A和B自然不能查看对方的数据,但是如果有天,B由于业务需要需要协助处理X组织的财务,那我们就可以通过为B用户添加X组织的“财务”角色来实现这种需求。在业务结束后,也可以通过暂停删除操作来管理B在X组织下的权限。
  2。2RBAC1模型
  基于RBAC0模型,针对角色引人继承的概念,子角色可以对父角色的权限进行继承,但是子角色的权限一定小于父角色。
  2。3RBAC2模型
  相较RBAC0系统,RBAC2系统在用户与角色间和角色与角色之间加入了一些规则。
  单个角色允许分配的用户数限制,例如一个公司不可能有多无限个“董事会”角色;
  单个用户允许授予的角色数限制,例如单个用户不允许在一个公组织或多个组织担任无限多个职务;
  角色与角色有层级关系,例如想新增一个部门经理,不能用一个部门职员的账号去创建吧?
  角色与角色存在互斥关系,这个根据实际业务需要来做限制,例如销售不能兼任会计。
  2。4RBAC3模型
  RBAC3模型也叫统一模型,它基于了RBAC0,并包含了RBAC1和RBAC2模型的全部特点。
  三、设计过程
  3。1新增账号的属性
  新增账号是用户体系的最基本的功能,新增账号时需要获取账号的哪些参数决定了整个用户体系的数据维度。
  这里不得不提的就是USERID,登录账号,昵称的概念。
  USERID:对应的是账号在系统中唯一标识,可以不展示给用户,例如微信的openid和unionid,一般在新增账号时由系统生成,且不可修改;
  登陆账号:登录账号和USERID在有的系统并不一致,同一个USERID可能对应着多个登录账号,例如微信可以通过微信号,手机号,邮箱去登录,这里的不同登陆方式都对应这一个登陆账号,一般在新增账号时,由用户输入,且不可修改;
  昵称:昵称是用户可以自由编辑操作的,由用户输入,且允许修改。
  3。2功能权限的处理方式
  功能权限通过对角色的权限树进行修改来实现。在权限树种我们可以将页面权限,菜单权限和按钮权限罗列,通过筛选对应权限完成对角色功能权限的控制。
  需要注意的一个问题是,权限控制的最小粒度。如果要实现每一个权限的控制,相当于每一个权限对应功能都需要做封装。大的页面和菜单权限是必备的,但是哪些按钮权限是可以封装在一起的,(比如“启用”和“暂停”一般都是成对出现的),这些是需要产品考虑的。
  3。3数据权限的处理方式
  数据权限其实是角色权限的重要属性,但是由于数据范围太灵活,如果在角色加入“数据权限”tab,如果账号下的数据量较大,用户编辑数据权限的操作会很繁琐。因此,因此现在主流的后台设计都会使用“组织结构”来对应数据权限。
  在系统中,我们使用了【新增组织】的方式,来处理数据权限。
  3。4对老用户的兼容
  在做用户体系的重构时,老用户的账号兼容问题是产品必须考虑的部分。兼容问题也是从功能和数据两个维度去验证新的体系是否对老用户是否有影响。
  四、总结
  文章的内容主要是本次迭代中实际的使用场景,抱着他山之石可以攻玉的想法,参考了现有的资料,结合自己系统的实际情况,对用户体系设计做了一次小结。若有不足之处,还请大家多多沟通,共同进步。
投诉 评论 转载

后台基于RBAC模型的用户与权限设计本文作者结合实际经验,跟大家谈谈后台基于RBAC模型的用户与权限是如何设计的,一起来看看一、项目背景1。1需求来源前段时间,笔者所在公司收到了多个客户对后台权……生态圈基石:阿里系会员盘点(下)本次文章将从主要业务的电商会员、金融会员到次要业务的本地生活、酒旅会员这4个主场景来分析阿里体系的会员系统,enjoy有本书曾经将企业护城河归纳为四种:无形资产、客户转换……产品脑洞:我们可不可以设计出一款产品,让逝者“永存”?连就连,你我相约到百年,谁若九十七岁死,奈何桥上等三年。如今我们的年岁,祖辈相对年迈,当他们生病,甚至与我们天人两隔的时候,有种无力感的痛苦,便会在无人时刻,从压抑的心底……FromCtoB,服务设计的价值与转变服务设计应用于许多针对用户的洞察与创新,我们所聚焦的C端用户从以人为中心的法则与研究方法为我们的商业策略和产品提供了需求与创新的价值。然而,针对B端客户,我们的服务设计的价值是……RPA设计实践:如何做好AI类型的产品?RPA是指RPA机器人流程自动化,就是将有规律的重复流程制作成机器人,让他们去做。那么,要怎么才能去做好这类产品呢?第一天接到任务要做一个平台,第二天下午,Leader就……雅设计与俗设计有什么区别?为什么你做的设计常被人说太俗气?因为他们没礼貌!自认为还不错的设计却被别人说成很俗气,可以说是让设计师最郁闷的事情之一了,如果被说设计没创意、形式太普通、颜色太杂、排版不……如何从一个idea开始,将产品落地?本文笔者将与大家讲述:如何从点到线到面,将一个产品落地?文章内容适合对于前端产品和后端产品都适用。给产品经理分类的时候,我们经常习惯性的会以前端产品和后端产品来区分,其实……盘点“扫一扫”背后的功能场景设计逻辑最近有个关于扫一扫的功能设计工作,故对市面上的扫一扫功能做了盘点分析,本文将介绍扫一扫的常用功能、应用场景以及背后的设计逻辑,供读者参考交流。一、扫一扫是用来干嘛的?……基于MVP模型,进行问卷收集产品的基础设计针对问卷收集产品,作者展开了MVP设计方案的分解,并结合产品特性以及自身了解,对某些要点进行关注与分析。目录:一、需求背景在移动互联网迅猛发展的今天,用户分层……做需求分析,你要弄明白的5件事首先说明一下笔者此次做需求分析的背景:要做的是一个网络报修管理平台,而本人未参与调研,手头得到的资料,有一个竞品的平台,以及另外一个竞品的整体建设方案,注意,平台和方案分属不同……CMYK配色法,UI高级进阶必备!对于UI设计而言,色彩是非常有趣且有非常多知识点的一部分。本文中,笔者主要分享一些CMYK的配色法的分析与思考。今年特别想尝试写写系列文章,赶上公司设计UED分兴趣小组,……7个步骤,教你数据图形化看板Dashboard设计最初看板Dashboard源于形容汽车仪表盘,恰如其分地担当了浏览和查看的任务。这几年设计看板项目不少,本篇文章聊聊如何设计一个好的设计看板。为什么我们要自己设计看板Da……
写好公关稿的3大写作技巧这届高校土味招生文案,666618,京东又出沙雕广告!618,淘宝出了一波文案金句杜蕾斯,你还会回来么?年中文案大赏:Top20来了!如何通过设计实验,提升文案说服力?转化率高的品牌文案,都有这些特征!父亲节文案,句句戳心!微信发布2019主题片,文案出彩!盘点:父亲节品牌借势文案这组酒文案,都是男生恋爱中的小心思观察日记动物200字大全成立新公司!格力集团,进军新能源?面膜里的精华液可以留着用吗面膜的正确使用方法华为P50Pocket新版本发售,华为P50惭愧价崩,网友开黑眼圈可能预示你有妇科病初一生物呼吸作用教案设计足球丨法甲巴黎圣日耳曼胜兰斯遵义造句用遵义造句大全关于快乐的植树节500字作文植树真开心马斯克全球范围特斯拉现车价格月日后上调约拉开差距!杜兰特今日砍下51分赛季场均得分从28。5提升到22021保洁人员劳务派遣合同范本【通用版】

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