编辑导读:权限系统可以从字面上理解,赋予不同用户不同的权限,比如管理员可以增删账户,普通员工只能读写数据 。本文作者以钉钉为例,拆解权限系统和工作流,希望对你有帮助 。
在B端产品从0到1设计的过程中,有一些基础内容是绕不开的,比如人员系统、账号系统、权限系统、工作流系统等等 。但是这些系统也相对成熟,可以玩出花的地方也不多,对于这部分我们倒可以占据后发优势,去学习行业内的产品是怎么做的 。
这里给大家提供一个思路,SaaS的产品经理可以试着从非竞品找到设计灵感 。我们这篇文章主要聊一下权限系统和工作流,单从这两个通用模块来看,感觉OA系统有比较不错的心得 。我们以钉钉为例做一个权限系统和工作流部分的拆解,也算对平时工作的一个总结 。
01 权限系统,RBAC(Role-Based Access Control)
权限系统可以从字面上理解,赋予不同用户不同的权限,比如管理员可以增删账户,普通员工只能读写数据 。常规权限系统设计会用到RBAC模型,基于角色的访问控制模型 。在没用到这个RBAC模型的情况下,用户会和权限直接绑定 。
(用户-权限)
这个对于简单系统是非常易懂的,对于人员变动不大的系统也是可以直接上手使用的 。但是当有人员变动或者权限变动的时候,问题就出来了 。以上图为例,小路离职,索大升职,享有小路的全部权利,这个时候会产生比较大的变动 。而根据RBAC,那么就会有三层结构,用户-角色-权限 。通过升维解决低维灵活度不够的问题 。RBAC会是下面这个样子 。
(用户-角色-权限)
小路可以是管理员,也可以是组长,然后小路具有管理员和组长的所有权限 。如果小路离职了的话,索大可以和管理员进行绑定,再和组长绑定 。这时候角色和权限的关系是不需要改变的 。
RBAC还有很多的变体,比如互斥角色、比如角色具有上下级关系,可以参考《RBAC权限系统分析、设计与实现》这个博客 。
我们看看钉钉的实现方式 。
(钉钉子管理员列表页面)
(钉钉子管理员编辑页面)
(钉钉子管理员添加人员页面)
这是钉钉后台的管理系统,在子管理员页面里会有添加管理组,添加管理组人员,设定管理组的管理员,设置权限等 。管理组会有一些默认的管理组,也可以由用户新增 。操作顺序可以是:
(钉钉子管理员页面流程)
钉钉产品已经非常庞大了,作为一个平台产品,这边的权限主要是针对不同应用的访问和使用 。钉钉的管理组就像一个角色,而成员就代表着用户,最后为角色配置权限 。引入角色对用户和权限进行解耦的好处是,任何员工的离职入职,都不会影响到角色和权限直接的关系 。而管理要做的,只是把人丢到对应的管理组即可 。
钉钉对于这部分的管理是一步到位的,完成了用户-角色-权限的配置 。如果想要条理更清晰一些,可以先完成角色和权限的映射配置,再往角色里添加人员就可以了 。
除了用户- 角色- 权限这种形式,还可能出现更为复杂的问题 。推荐阅读
- 黄色是暖色系,黄色给人的感觉是用什么词
- 男女的关系是睡出来的吗 男人的感情都是睡出来的吗
- 淘宝系平台茶具销售额约37亿 茶具市场调研分析
- 北宋南宋是什么关系 北宋南宋辽和金是什么关系
- 皱纹与健康的关系
- 智慧城市建设包括哪些内容,智慧城市建设与文化的关系
- 现在可以升级鸿蒙系统了吗,mate10升级鸿蒙系统
- 衣服沾上油渍怎么洗 怎么去油渍衣服的
- 男人心情不好就不联系你,才会在这4个时候联系你
- 电脑换主板和cpu需要重装系统吗