做B端后台,一个老生常谈的话题就是权限控制,如何做权限控制,初步整理一下。
用户场景
后台系统常常都有各类用户他们能够进行的操作是不同的,为了提高
场景1:例如有些高危操作,需要授权人员才可以使用;
场景2:部分数据汇总数据,必须要相关领导层才能看到;
场景3:部分职工,转岗或者离职,导致的权限变更。
权限设计
后台系统的设计就是降低业务的耦合程度,保证各个业务能够独立运行,后续功能做变更时,对横向部门的业务影响尽可能小。
权限分离
经典的用户权限设计,就是用户、角色和权限三者分离。我自己设计的也是按照这套来的,觉得还是蛮合适的。
示意图:
好处
- 将账号/用户与实际业务剥离,不会因为一个人去影响整个业务。因为人是不稳定的,但是企业内部的业务逻辑相对稳定。
- 角色和业务分离,因为企业内部可能产生岗位职责的变动,角色与功能的拆分,方便及时的调整业务,而且有新业务时,设计多个角色时,也可以及时调整,权限体系不是改动太大。
- 符合企业自身的运营逻辑:员工、岗位和职责的模式,天然有优势。
其他
在实际业务流程中,没有这么理想化,有时候业务之间是互斥的,例如功能点A和功能点C是业务互斥的,那么就需要去考虑功能点A与功能点C的业务控制,A操作之后C如何呈现,还可以进行哪些操作;