首页 > 互联网

背景基于RBAC模子的用户与权限设想

RBAC-0 模型的特点就是用户和角色是多对多的关系,同一个用户拥有多个角色的属性,我们通过组织这个概念来构建组织架构,从而实现对角色数据权限的分配。 数据权限其实是角色权限的重要属性,但是由于数据…

背景基于RBAC模子的用户与权限设想

一、项目背景 1.1 需求泉源

前段时间,笔者地点公司收到了多个客户对背景权限和角色的需求。议论发明,现有的产物背景架构并不能很好的满足用户需求,所以为了满足这些客户的需求并为以后能够存在的营业拓展打下基本,我们决议对现有产物的背景用户体系举行迭代。

1.2 需求的拆解

经由历程过滤需求,我们发明实在用户的需求主假如两类:

  • 是请求我们的用户体系能够承载用户多级分销的营业形式并满足各级分销之间数据权限的请求;
  • 是请求我们完美对用户权限的掌握。
二、理论依据

涉及到背景用户治理体系,绕不开的观点就是权限,任何一个账号都邑有本身的用例。然则多半情况下,我们对部份账号的用例会做一些限定,假如直接将这类限定加在账号上,就会发生二个题目:

  • 每一个账号都要设置很贫苦;
  • 没法批量修正一类用户的权限。

所以角色的诞生就呼之欲出了,我们经由历程对权限集的笼统,创立了角色,经由历程修正角色,来到达掌握具有该角色的账号的权限修正的目标。

权限能够分为数据权限和功用权限两大类:

  • 数据权限望文生义,就是账号能检察若干数据,怎样完成A部门与B部门之间互相不能检察营业数据,这个就涉及到数据权限;
  • 功用权限依据局限以大抵菜单权限和按钮权限,依据操纵能够大抵分为检察和编辑权限。
2.1 RBAC-0模子

2.1.1 简述

RBAC-0 模子的特性就是用户和角色是多对多的关联,同一个用户具有多个角色的属性,我们经由历程构造这个观点来构建构造架构,从而完成对角色数据权限的分派。如许单个用户账号具有的悉数权限就是他地点构造的权限的累加。

背景基于RBAC模子的用户与权限设想

2.1.2 举例

在RBAC-0模子中,A用户担负X构造的营业,B用户担负Y构造的财务事情。平常情况下,A和B天然不能检察对方的数据,然则假如有天,B因为营业须要须要辅佐处置惩罚X构造的财务,那我们就能够经由历程为B用户增加X构造的“财务”角色来完成这类需求。在营业完毕后,也能够经由历程停息/删除操纵来治理B在X构造下的权限。

2.2 RBAC-1模子

基于RBAC-0模子,针对角色惹人继续的观点,子角色能够对父角色的权限举行继续,然则子角色的权限肯定小于父角色。

背景基于RBAC模子的用户与权限设想

2.3 RBAC-2模子

相较RBAC-0体系,RBAC-2体系在用户与角色间和角色与角色之间到场了一些划定规矩。

背景基于RBAC模子的用户与权限设想

  • 单个角色许可分派的用户数限定,比方一个公司不能够有多无穷个“董事会”角色;
  • 单个用户许可授与的角色数限定,比方单个用户不许可在一个公构造或多个构造担负无穷多个职务;
  • 角色与角色有层级关联,比方想新增一个部门经理,不能用一个部门人员的账号去建立吧?
  • 角色与角色存在互斥关联,这个依据现实营业须要来做限定,比方贩卖不能兼任管帐。
2.4 RBAC-3模子

RBAC-3模子也叫一致模子,它基于了RBAC-0,并包含了RBAC-1和RBAC-2模子的悉数特性。

三、设想历程 3.1 新增账号的属性

新增账号是用户体系的最基本的功用,新增账号时须要猎取账号的哪些参数决议了全部用户体系的数据维度。

背景基于RBAC模子的用户与权限设想

这里不得不提的就是USER_ID,登录账号,昵称的观点。

USER_ID:对应的是账号在体系中唯一标识,能够不展现给用户,比方微信的open_id和union_id,平常在新增账号时由体系生成,且不可修正;

上岸账号:登录账号和USER_ID在有的体系并不一致,同一个USER_ID能够对应着多个登录账号,比方微信能够经由历程微信号,手机号,邮箱去登录,这里的差别上岸体式格局都对应这一个上岸账号,平常在新增账号时,由用户输入,且不可修正;

昵称:昵称是用户能够自在编辑操纵的,由用户输入,且许可修正。

3.2 功用权限的处置惩罚体式格局

功用权限经由历程对角色的权限树举行修正来完成。在权限树种我们能够将页面权限,菜单权限和按钮权限排列,经由历程挑选对应权限完成对角色功用权限的掌握。

背景基于RBAC模子的用户与权限设想

须要注重的一个题目是,权限掌握的最小粒度。假如要完成每一个权限的掌握,相当于每一个权限对应功用都须要做封装。大的页面和菜单权限是必备的,然则哪些按钮权限是能够封装在一起的,(比方“启用”和“停息”平常都是成对涌现的),这些是须要产物斟酌的。

3.3 数据权限的处置惩罚体式格局

数据权限现实上是角色权限的主要属性,然则因为数据局限太天真,假如在角色到场“数据权限”tab,假如账号下的数据量较大,用户编辑数据权限的操纵会很烦琐。因而,因而如今主流的背景设想都邑运用“构造构造”来对应数据权限。

背景基于RBAC模子的用户与权限设想

在体系中,我们运用了【新增构造】的体式格局,来处置惩罚数据权限。

3.4 对老用户的兼容

在做用户体系的重构时,老用户的账号兼容题目是产物必需斟酌的部份。兼容题目也是从功用和数据两个维度去考证新的体系是不是对老用户是不是有影响。

四、总结

版权声明

本文仅代表作者观点,不代表本站立场。如有侵权,请邮件248745074@qq.com删除
本文系作者授权发表,未经许可,不得转载。
本文地址:https://www.ishunhua.com/hlw/12697.html

舜华网

网站地图 |

Powered By 舜华网 版权所有

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

联系我们:248745074@qq.com