关于系统设计中数据权限的解决方案

我最近的开发一个项目中涉及比较复杂的权限管理功能。 系统中需要角色、机构、菜单、用户,其中机构有上下级关联,角色又分为经理、组长等,大致的需求是这样的不同角色看到的界面不一样,这个功能好处理设计菜单表与角色表多对多关联就可以了,而数据权限就比较复杂了,机构表中设有 部门A ,小组A,小组B(小组的上级是部门A),角色有部门经理,组长 ,组长A只能查看小组A的组员数据,而不能查看小组B的组员数据,部门经理A能查看底下两个小组数据

我设计的表如下

最开始我想的查询方案是 现在我的想法是如果是部门经理查看数据时 递归查询底下的机构列表,在查询人员时 用 in(机构id1,机构id2)的方式查询数据,但是这种方案存在问题,如果部门过多会导致查询缓慢所以又请教了一些朋友他们提出的方案是采用权限编码的方式解决,大致思路如下:

     比如顶级部门的编码为00,下级部门的编码为00-01,在下级的编码为00-01-01 等等以此类推在查询的时候用右like索引的方式进行数据查询,这样可以比较容易的解决数据权限的问题



转载于:https://juejin.im/post/5c8f55c56fb9a070c8590070

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值