关闭

rbac权限设计思路

248人阅读 评论(1) 收藏 举报
分类:

2.1 基本概念

主要是针对本次权限系统所涉及的名词进行定义。

2.1.1 权限 

系统的所有权限信息。权限具有上下级关系,是一个树状的结构。

权限可以细分为菜单,元素。

 

对于菜单   用户菜单显示

商家管理

基本管理

商家列表

商家注册

 

对于元素   用户权限访问

系统管理          

用户管理                

查看用户                 

新增用户  

 

2.1.2用户  

系统的具体操作者,用户可以自己拥有权限信息,可以归属于0n个角色,可属于0n个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各业务线的权限的合集。它与用户组、角色、业务线之间的关系都是nn的关系。

 

2.1.3角色  

为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如超级管理员、普通管理员、用户等角色。角色之间是平级关系,可以根据不同的角色设置不同的权限。

 

2.1.4用户组  

对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。结构可以参考RTX组织架构。

例如:技术部=>电商   技术部=>产品中心

 

2.1.5 业务线 

可以理解为项目。为了更灵活地管理用户的权限,可以随时增删改用户的权限,角色的权限相对固定,但每个角色具体负责的业务可能不同。

例如:团购,合伙人。

 

2.2 用户权限构成

   用户权限是用户角色权限和业务线权限的并集,同时为了兼顾老发布后台权限,用户保留与老发布后台的权限关系。

 

 

 

 

 

 

 

 

 

 

可以简化成如下所示:

 

 

 

 

 

 

 

用户所有权限之和,就是当前用户的所有权限。

 

例如: 用户:组(技术部=>电商)     角色(工程师)   业务(团购)

       用户:组(技术部=>电商)     角色(工程师)   业务(合伙人)

           用户:组(技术部=>产品中心) 角色(产品经理业务(产品库)

 

2.3 授权与验权

 

2.3.1 授权

 授权是高等级用户为下级用户授予权限,普通用户无法为自己授权。由于之前没有规则地添加权限,普通用户也可以改为超级管理员,用户权限非常混乱。

 

超级管理员拥有系统最高级权限,可以添加角色,业务线,用户组,用户。

普通管理员拥有超级管理员功能,但无法操作超级管理员所添加的东西。

普通用户只有查看地权限,没有实际操作权限。

 

以普通管理员为例,创建用户组,角色,业务线,也可创建一个用户并为他绑定到某用户组,角色,业务线,

 

具体授权操作示意如下图:

 

 

2.3.2 验权

管理员对用户操作权限后,会更新出用户和权限的直接关系。

在管理后台通过对访问参数判断,获取对应的权限,检查是否包含在用户权限内。

在于权限设置页面,普通管理员只可修改自己创建的。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2074次
    • 积分:125
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论