B端系统权限设计

做过企业端或者后台产品的童鞋,对权限设计不会陌生。权限设计是所有企业系统的基础。

企业系统中所有的功能模块都需要考虑到权限的控制。

权限管理一般涉及到两个级别的管理,接口级别和数据级别。本篇文章介绍接口级别的权限设计。

接口级别的权限设计常用的是RBAC模型,RBAC 指的是 Role Based Access Control。即基于角色

的权限管理。那么什么是基于角色的权限管理呢?且看下图:

用户和角色挂钩,角色和权限挂钩。一个用户和多个角色挂钩,一个角色和多个权限挂钩。

即用户和角色之间是「多对多」的关系,角色和权限之间也是「多对多」的关系。

对应到企用中的运营场景。比如售后客服团队,基础客服有「查看订单的权限」,中级客服有「查看、取消订单的权限」,

高级客服有「查看、取消、修改订单的权限」。对应的角色就可以设置为「基础客服」「中级客服」「高级客服」。

对应的权限就有「取消订单」「查看订单」「修改订单」。对应关系见下:

那么这么设计的好处是什么?为什么不直接用户和权限挂钩?需要设置角色呢?

设想这样一个场景:

新增了一个「删除订单」的权限,只有「高级客服」才有,现在高级客服有

100 多个人,如果用户和权限挂钩需要修改一百次,但是采用 RBAC,只需要更改「高级客服」

这个角色的权限,这个角色下的客服都有了这个权限

那如果要删除「修改订单」权限呢?所有人都不能修改订单。同理。

可见,基于 RBAC 模型,能够支持更加复杂的权限控制。对于中等规模以及以上的企业来说,权限的控制非常严格,且变动性大,基于 RBAC 模型的权限设计,更能满足企业运营的需要。

你可能感兴趣的:(B端系统权限设计)