位置:编程技术网 > 架构设计 > 正文 >

后台产品设计系列:单系统与多系统的用户权限设计(五)

2018年11月07日 12:23来源:未知手机版

性感动漫美女图,邯山区邮编,嗜血之夜,社保跨省转移手续,我一直站在被你伤害的地方王乐天,血精灵新模型

原标题:后台产品设计系列:单系统与多系统的用户权限设计(五)

上篇,给大家介绍了后台产品比较通用的五个原型设计要点,此篇,笔者将介绍后台产品另一个通用设计——用户权限设计。

由于保密、体验、安全等多种因素,用户权限设计成为每个后台产品的必备功能。那么作为产品经理,面对不同复杂度的系统,又该如何来做呢?

目前,用户权限设计最主流的方式是基于RBAC模型的用户、角色、权限的设计,这种基于角色的权限设计能够非常灵活、高效,并应对更多场景的需求。不过,虽然理论基础一样,单系统的用户权限与多系统的用户权限在实际产品设计中,却存在较大差异。

本篇,笔者将分享基于RBAC模型的单系统权限设计和在此基础上拓展的多系统权限设计。

一、RBAC模型概述 1. RBAC是什么

RBAC模型:Role-Based Access Control,基于角色的访问控制。

名称有点拗口,具体怎么理解呢?

重点就是这个角色。举个栗子:小王是名财务,能够审批报销单和发工资。在这个场景里,“小王”就是“用户”,“财务”就是“角色”,“审批报销单和发工资”就是“权限”,在没有引入“角色”前,权限都是直接指给用户的,就是“小王能够审批报销单和发工资”,那么这里就有问题了。

到底什么样的人才能审批报销单和发工资呢?我们需要做一个归类,比如把这一批人归为财务,把那一批人归为领导亲戚,就是把拥有同样权限的人设定一个“角色”,进行归类。 如果没有角色,那么拥有同样权限的人就得每个都配一遍,有人员流动时又要再配一次,很麻烦。引入“角色”后,我们把权限指派给“角色”,这样在配权限时,只需要将“用户”关联上角色就可以了。

通过下图连线条数就可以看出哪种方式更简单:

整个RBAC的核心就是这个。那么根据这套模型功能的复杂程度不同,由简单到复杂又可以分为RBAC-0、RBAC-1、RBAC-2、RBAC-3四个层级。

2. RBAC的四大模型

RBAC-0

RBAC-0是最基础的,就是在用户与角色、角色与权限间建立关系,每种关系均为多对多。

RBAC-1

RBAC-1是在RBAC-0的基础上,增加了继承关系。就是一个角色只能有另一角色的部分权限,这个角色的权限大小受另一角色权限影响。例如:财务主管有三个权限,那么财务专员的权限一定要小于主管的权限,所以上班就不能扯犊子,只能主管可以。

如果财务主管有需求,我们还应在角色权限配置页面,给财务主管自己配置财务专员的的权限,由财务主管自由设置财务专员的用户是谁、权限有哪些,哪天主管自己一个人扯得无聊,就可以自己偷偷在配置页面给专员也开个“上班扯犊子”权限,然后两个人就可以愉快的互扯了,扯完了再自己手动关掉,美滋滋。

RBAC-2

从上面的例子中,我们可以看到,如果用户、角色、权限完全自由,随意配置,会存在很大风险,领导小舅子既当财务主管,又当老板秘书,财政大权和老板行程全被掌控。于是,老板就规定:任何一个人,“财务主管”与“老板秘书”两个角色只能二选一。

本文地址:http://www.reviewcode.cn/jiagousheji/8451.html 转载请注明出处!

今日热点资讯