业务的代码中数据权限校验问题

1. 问题描述?

权限实现设计问题:
背景:我们的系统是面向B端的一个管理系统,会给不同的管理员分配不同部门的权限,包括人员、订单、等资源信息都是挂到部门上来进行管理的。
问题: 在业务的开发中为了保证本越权,要对操作的资源进行权限校验。
比如:查询人员的时候,需要看这个人是不是属于此管理员能够管理的部门、有的资源可能是属于一个部门的集合,希望能有什么方式把这个校验提出来,尽量不侵入业务代码。

2. 您期望得到的结果?

一个比较全面的中间件设计思路,此中间件可以实现复杂场景下的权限校验。

讨论数量: 1

可以将权限变成乘积形式

部门: a b c
权限: user_query user_create
根据部门和权限 生成部门权限。

部门权限有: a_user_query a_user_create b_user_query ……

缺点: 维护权限麻烦,新增丶修改丶删除都维护部门权限。

然后用 rbac,当然不用也行。

角色:
ab部门查询管理员
b部门删除管理员


xx用户角色:
ab部门查询管理员 b部门删除管理员

此时xx用户可知他权限集合为: a_user_query b_user_query b_user_delete

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!