我们现在有这么一个需求, 一个总公司下属多个分公司, 要求各个分公司只能看到自己的数据, 总公司可以看到所有数据. 我们现在的做法是所有数据表里面加上一个机构代码, 然后在所有的查询的时候带上机构代码进行查询. 但是由于项目涉及查询的地方很多, 所以, 很多地方可能漏写了机构代码的查询条件. 
有没有别的什么方法可以达到我说的效果? 我们采用的spring boot , shiro, mybatis.

解决方案 »

  1.   

    自定义sql拦截器,确保查询出来的数据是正确的
      

  2.   

    把API都检查一遍吧
      

  3.   

    只能带上机构条件查询啊,就像楼上所说的,不管怎么样,你都要过滤这些数据,肯定需要带上条件的。你的意思可能就是说要能够在没有带上机构号的情况下,自动补全机构号,那楼上说的mybatis的sql拦截器应该可以实现。
      

  4.   

    看来也只能是mybatis 的sql拦截器了, 属于老项目改造,  一个个去修改sql不太现实.