发表于: 2019-04-20 22:48:27

1 669


收获

rbac角色管理 常用的权限管理,第一种用户拥有多个角色的权限  是第二种  一基于基础上 ,一个个角色是分等级的,不同等级不同权限,第三种1权限互斥,2先赋予角色等他升级赋予更高角色,3角色拥有的权限有限赋予多个角色 只能激活一个第四种是角色分层   第五种角色分组

RBAC是一套成熟的权限模型。在传统权限模型中,我们直接把权限赋予用户。而在RBAC中,增加了“角色”的概念,我们首先把权限赋予角色,再把角色赋予用户。这样,由于增加了角色,授权会更加灵活方便。在RBAC中,根据权限的复杂程度,又可分为RBAC0、RBAC1、RBAC2、RBAC3。其中,RBAC0是基础,RBAC1、RBAC2、RBAC3都是以RBAC0为基础的升级。我们可以根据自家产品权限的复杂程度,选取适合的权限模型。

1

二、基本模型RBAC0

解析:

RBAC0是基础,很多产品只需基于RBAC0就可以搭建权限模型了。在这个模型中,我们把权限赋予角色,再把角色赋予用户。用户和角色,角色和权限都是多对多的关系。用户拥有的权限等于他所有的角色持有权限之和。

2

举例:

譬如我们做一款企业管理产品,如果按传统权限模型,给每一个用户赋予权限则会非常麻烦,并且做不到批量修改用户权限。这时候,可以抽象出几个角色,譬如销售经理、财务经理、市场经理等,然后把权限分配给这些角色,再把角色赋予用户。这样无论是分配权限还是以后的修改权限,只需要修改用户和角色的关系,或角色和权限的关系即可,更加灵活方便。此外,如果一个用户有多个角色,譬如王先生既负责销售部也负责市场部,那么可以给王先生赋予两个角色,即销售经理+市场经理,这样他就拥有这两个角色的所有权限。

三、角色分层模型RBAC1

解析:

RBAC1建立在RBAC0基础之上,在角色中引入了继承的概念。简单理解就是,给角色可以分成几个等级,每个等级权限不同,从而实现更细粒度的权限管理。

3

举例:

基于之前RBAC0的例子,我们又发现一个公司的销售经理可能是分几个等级的,譬如除了销售经理,还有销售副经理,而销售副经理只有销售经理的部分权限。这时候,我们就可以采用RBAC1的分级模型,把销售经理这个角色分成多个等级,给销售副经理赋予较低的等级即可。

四、角色限制模型RBAC2

解析:

RBAC2同样建立在RBAC0基础之上,仅是对用户、角色和权限三者之间增加了一些限制。这些限制可以分成两类,即静态职责分离SSD(Static Separation of Duty)和动态职责分离DSD(Dynamic Separation of Duty)。具体限制如下图:

4

举例:

还是基于之前RBAC0的例子,我们又发现有些角色之间是需要互斥的,譬如给一个用户分配了销售经理的角色,就不能给他再赋予财务经理的角色了,否则他即可以录入合同又能自己审核合同;再譬如,有些公司对角色的升级十分看重,一个销售员要想升级到销售经理,必须先升级到销售主管,这时候就要采用先决条件限制了。

五、统一模型RBAC3

解析:

RBAC3是RBAC1和RBAC2的合集,所以RBAC3既有角色分层,也包括可以增加各种限制。

5

举例:

这个就不举例了,统一模型RBAC3可以解决上面三个例子的所有问题。当然,只有在系统对权限要求非常复杂时,才考虑使用此权限模型。

六、基于RBAC的延展——用户组

解析:

基于RBAC模型,还可以适当延展,使其更适合我们的产品。譬如增加用户组概念,直接给用户组分配角色,再把用户加入用户组。这样用户除了拥有自身的权限外,还拥有了所属用户组的所有权限。

6

举例:

譬如,我们可以把一个部门看成一个用户组,如销售部,财务部,再给这个部门直接赋予角色,使部门拥有部门权限,这样这个部门的所有用户都有了部门权限。用户组概念可以更方便的给群体用户授权,且不影响用户本来就拥有的角色权限。

后台管理主要是用于对网站前台的信息管理,如文字、图片、影音、和其他日常使用文件的发布、更新、删除等操作,同时也包括会员信息、订单信息、访客信息的统计和管理。简单来说就是对网站数据库和文件快速操作的管理系统。
账户管理:对整个后台的账户体系进行管理,可以进行编辑、删除或增加账户的操作。编辑可以对账户的用户名、密码、角色进行修改。
ID:它与账户是一对一的,通过ID可以找到对应的账户;
用户名:在后台管理系统中用于登录识别对应的账户,可以使用汉字、字母等组成。
编辑:对账户列表中的账户进行修改,可以更改账户的密码和角色;
新增:相当于开户,可以手动添加新账户到管理员列表;
删除:对某一账户进行删除操作,删除后的账户无法再登录后台管理系统。
用户管理与账户管理的区别:
用户管理主要是对外账户的管理,即前台注册用户,对内部管理员账户没有操作权限,一般就只是修改用户的数据的功能。
后台的账户管理可以对整个后台的账户体系进行操作。
 角色管理的编辑就是对角色对应的权限进行更改,删除就直接删除该角色,在创建新账户时就不能再使用这个角色。
模块管理可以对平台的功能模块进行管理。它能对功能模块进行新增、编辑、删除、分类、移动的操作。
名词解释:
ID:它与模块是一对一的,通过ID可以找到对应的模块;
url:网址,可以是域名也可以是IP地址,在后台模块管理中,它的组成结构为资源类型、存放资源的主机域名、资源文件名;
父节点:父节点在数据库管理中的数据模型中,早期阶段的层次模型和网状模型中,一个属性如果有上一级,则称这个上一级是它的父结点,如果没有上一级,则这个属性则无父结点;
icon:图标,对模块选项进行装饰;
排序:对模块列表中的模块进行排序。
模块管理的操作说明::编辑就是对模块url、名称、url、父节点等进行编辑,新增就是添加新的模块,需要对它的属性进行设置;删除就是直接删除该模块。



下一篇


容...


返回列表 返回列表
评论

    分享到