作为开发狗,手上堆的系统和任务多了,开权限就变成了一件麻烦的事。
一开始做一个功能X,给甲用,就做一个简单的权限关联表:功能key
,人员id
就完事大吉
后来人员调整流动,换人换得勤快,得考虑一个功能给一个团队使用,于是引入 RBAC,基于角色的鉴权控制。说到底就是个三元组 功能key
,角色
,成员id
。
我也一度迷信这样的设计。用了这么久还是麻烦了。在一个正常官僚程度的大中型组织里,压根没人知道自己角色是啥。
你说他是管理人员吧,他也就管一部分;你说他负责这事吧,也就负责一阵。该给他放到哪个角色呢?
如果做一个自动化角色申请审批流程,他会跑来问你,该申请哪个角色啊?
所以问题又回到了原点。因此我琢磨出来一套具有大汉封建主义特色的,「分封制」权限控制体系。
感觉这样开发和超管就可以不用每天处理谁负责哪个功能的麻烦事了。哈哈哈