问答 / 3 / 1 / 创建于 1年前
权限实现设计问题:背景:我们的系统是面向 B 端的一个管理系统,会给不同的管理员分配不同部门的权限,包括人员、订单、等资源信息都是挂到部门上来进行管理的。问题: 在业务的开发中为了保证本越权,要对操作的资源进行权限校验。比如:查询人员的时候,需要看这个人是不是属于此管理员能够管理的部门、有的资源可能是属于一个部门的集合,希望能有什么方式把这个校验提出来,尽量不侵入业务代码。
一个比较全面的中间件设计思路,此中间件可以实现复杂场景下的权限校验。
部门: a b c权限: user_query user_create根据部门和权限 生成部门权限。
a
b
c
user_query
user_create
部门权限有: a_user_query a_user_create b_user_query ……
a_user_query
a_user_create
b_user_query
缺点:维护权限麻烦,新增丶修改丶删除都维护部门权限。
然后用 rbac, 当然不用也行。
rbac
角色:ab部门查询管理员b部门删除管理员
ab部门查询管理员
b部门删除管理员
xx 用户角色:ab部门查询管理员 b部门删除管理员
此时 xx 用户可知他权限集合为: a_user_query b_user_query b_user_delete
b_user_delete
我要举报该,理由是:
推荐文章: