-
UID:12641
-
- 注册时间2013-11-16
- 最后登录2023-11-02
- 在线时间364小时
- 配偶单身
-
-
- 发帖682
- 搜Ta的帖子
- 精华0
- 铜币48325
- 威望621
- 贡献值20
- 银元28073
-
访问TA的空间加好友用道具
- 发帖
- 682
- 铜币
- 48325
- 威望
- 621
- 贡献值
- 20
- 银元
- 28073
|
!9*c8bL D RBAC权限设计 3gWvmep1 M`,~ mU lv0nEj8F 根据人员职级的不同所使用的系统功能不同,当人员使用相同功能时,根据组织机构的不同,看见的数据不同。按照不同的维度,进行权限的划分,而不同。 -F&U Y&H}xn 其一基于角色的访问权限控制(RBAC)模型,人员角色来赋值给用户的权限管理,可以分为两大类型:功能权限、数据权限。 r'LVa6e"N }TRAw#h 那么现在我们就先按照RBAC来看权限分配。 F~#zxwd +'@+x'/{^ h!@|RW&}qX 一、背景 iO/XhSD s1Ok|31| DF]9@{ 5
*}R$ 在对应系统中每个用户所看见的界面功能和数据不可能都一样,而是根据人员的组织机构和职级不同进行相应的区分。 &adI (s~ (;x3} ] 举个例子: -W{
DxN1 ^{$FI`P 部门经理可见可操作功能‘业务报表’,员工不可见。业务A部门经理在‘业务报表’中只能看见本部门业务A部门的数据。而总经理可在‘业务报表’中,可查看所有部门业务A、B、C、3个部门的数据。这时就需要进行对应的权限分配。 "|Fy+'5} M69
w- v!3A9!. 二、RBAC l}^3fQXI 5[l8y, =.<@`1
xp'_%n~K@ 经典模型RBAC模型是现在权限管理系统的基础,但包括不限于此。根据公司组织架构不同设计有所不同,或2B业务是设计的通用权限划分,RBAC模型可分为:RBAC_0、RBAC_1、RBAC_2、 RBAC_3共4个版本。其他3个模型都是基于RBAC_0演化的。 zIC;7 5# oeSN9O 先简述下这4个RBAC模型: UEs7''6RM ;DA8B'^> RBAC_0模型: 权限——角色——用户。ERP系统:后台权限设计 ulT8lw=' B0$:b! p;)" 图一 ^VW
PdH/Fe $w)~O<_U RBAC_1模型:基于RBAC_0增加了子角色,子角色可继承父角色的所有权限。RBAC_2模型:基于RBAC_0增加了角色互斥,互斥的角色不可同时赋予一个用户账号。RBAC_3模型:结合了RBAC_0、RBAC_1、RBAC_2,目前为更全面更复杂的模型 S0h'50WteJ 'AGto'Yy; 三 、使用场景 [u@Jc, 75nNh~?)\ G2 ]H6G$M <tpmUA[]
基于RBAC来做的权限赋予角色再赋予用户。 A61^[Y,dX_
e:E0 "< UsGa 功能权限 {_N,=DQ! %V&n*3 0C<[9Dl.G8 >FjR9B 配置每个用户所见及所能操作的功能项不同。 7qO a
;^T HD,xY4q&N 当在主系统中存在不同子系统时,选定对应子系统将不同的功能项赋予到指定的角色上。 #&<)! YY5 (2ur5uk+ +h^jC9,m~{ 图二 $C
TSnlPq !IU.a90V 8,D 2^Gg 数据权限 e+v({^k T J^u"j-' q/3ziV
d7p uY_SU-v 根据组织机构所属部门不同,用户使用相同功能时所能看见的展示数据是不一样的,因根据公司业务情况不同。 I&?Qq k H>Q%"|
其一直接套用组织机构进行权限划分,缺点不可配置,无法根据实际业务跨部门查看数据。其二根据组织机构再次进行配置划分数据权限,缺点为每个组织机构都进行数据权限分配。 <99M@ cF %+ 7p lM j.~!dh$mg 图三 -m'j]1 6K
cD&S/ G CRz<)1 角色结合 AT2v!mNyCw f:*vr['d 2Y}?P+:%> VUTacA Y>L 在某个组织机构下选取的岗位角色,赋予对应的功能角色和数据角色。 ZN"j%E{d H|ozDA 岗位角色=功能角色+数据角色 hc
(e$## !Bz0^
1,L $p!yhn7 Rtb :nJ8 图四 gK#mPcn^ ^
PI 5L 配置账号 o)6p A^+ t$2_xX gM>t0)mGK sAo&
uZ 将不同的用户账号赋予不同的岗位权限,因我们在角色就是用的多角色构成关系,及岗位角色被赋予了多个功能权限与数据权限。因此,一个用户账号在此只需要对应一个岗位角色即可。 HCK|~k ERwHLA qbrp P(. 图五 V$0dtvGvH ')a(.f 若无任何一权限进入系统后则应有“无权限”提示,对于企业级系统如ERP、OA主体为公司员工使用,而账号分配及权限分配都是有专人负责进行,并无开放注册功能。 (npj_s!.C) g71[6<D 按照不同的维度进行权限的划分还可以对接人力资源管理系统,按照组织机构进行权限划分,也可在当前设置按钮中加入共享功能再特定人员(如:分部、部门、个人、角色),这时根据系统主体架构而定。 .)1_Ew *vgl*k?) tqAd$:L 四、最后的话 g&dPd7 s?8<50s W{z.?$SH hLJM%on 看到这里相信只要产品同学对RBAC 4 个模型有了认知后,那么做一个简单的权限系统应该只是水到渠成,做一个简单的权限系统应该没问题。 $
,I q;*7N
点赞支持
歌曲链接
|