Spring怎么实现数据隔离?

秀小川 2019-04-23 04:01:08
我们现在有这么一个需求, 一个总公司下属多个分公司, 要求各个分公司只能看到自己的数据, 总公司可以看到所有数据. 我们现在的做法是所有数据表里面加上一个机构代码, 然后在所有的查询的时候带上机构代码进行查询. 但是由于项目涉及查询的地方很多, 所以, 很多地方可能漏写了机构代码的查询条件.
有没有别的什么方法可以达到我说的效果? 我们采用的spring boot , shiro, mybatis.
...全文
524 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
秀小川 2019-04-24
  • 打赏
  • 举报
回复
引用 5 楼 wxgxgp 的回复:
只能带上机构条件查询啊,就像楼上所说的,不管怎么样,你都要过滤这些数据,肯定需要带上条件的。你的意思可能就是说要能够在没有带上机构号的情况下,自动补全机构号,那楼上说的mybatis的sql拦截器应该可以实现。
引用 1 楼 嘴角轻扬30 的回复:
自定义sql拦截器,确保查询出来的数据是正确的
看来也只能是mybatis 的sql拦截器了, 属于老项目改造, 一个个去修改sql不太现实.
勇敢牛牛_ 2019-04-24
  • 打赏
  • 举报
回复
只能带上机构条件查询啊,就像楼上所说的,不管怎么样,你都要过滤这些数据,肯定需要带上条件的。你的意思可能就是说要能够在没有带上机构号的情况下,自动补全机构号,那楼上说的mybatis的sql拦截器应该可以实现。
weixin_42666595 2019-04-23
  • 打赏
  • 举报
回复
这个跟数据隔离没关系,你们既然用了权限管理了,那么查询的数据就跟操作逻辑相关了。
开拓者Amadues 2019-04-23
  • 打赏
  • 举报
回复
把API都检查一遍吧
开拓者Amadues 2019-04-23
  • 打赏
  • 举报
回复
不管你用什么工具,要实现你说的都要给条件区分的。就是这个条件设置在哪里的区别。
嘴角轻扬30 2019-04-23
  • 打赏
  • 举报
回复
自定义sql拦截器,确保查询出来的数据是正确的

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧