2.代码上的数据权限带来的问题及个人解决思路

文章讲述了作者在处理接口中增加数据权限时遇到的问题,包括如何确保用户只能看到分配给他们的syscode数据,以及在模糊查询中如何添加正确查询条件以避免展示不属于用户的数据。最后,作者提出使用切面复用代码以提高效率,并邀请他人讨论学习方法。
摘要由CSDN通过智能技术生成

又来了一个需求之前是在接口增加数据权限,涉及到四张表,登录的用户获取对应的projecId,根据projectId获取到该用户有的项目集合,根据项目获取到对应的syscode

用户只能看到自己已经分配的syscode数据。

首先先获取登录用户,根据登录用户获取Userid,根据userId去project_user表里面找对应的project集合,在通过集合里面的每一条确定syscode是什么,这样数据权限就完成了。

但是我发现页面的模糊查询也调用的这个接口,这就导致用户只能看到自己分配的数据,但是查询的话就能查询到不属于自己的数据,我一检查代码发现忘记增加查询条件了,这样增加一条查询条件,就可以了,但是后面还有两个根据版本号和校验状态查询,如果根据这个查询会出现展示相同版本号但是syscode不同的情况,也是会发生看到不属于自己的数据的情况,我先是按照之前的方法构造了查询条件但是不行,查到的还是所有的,最后我想到,为什么不可以把所有的数据都查到,然后遍历这个集合,取出每一个对象获取他们的syscode,最后在构造查询条件的时候只需要让syscode在这个集合里面就可以了后面的方法和这个一样,下面是代码,后面的方法和这个类似我就不放多余的图片了,为了记录一下自己遇到的问题以及解决方式,后面我想每次加数据权限都用到的代码可以用切面复用一下,等深度优化的时候再统一!记录自己的每一次进步,继续加油!有其他见解的朋友可以一起讨论下学习方法!

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值