web配置动态数据权限后,数据隔离不生效,即还是查到原本不该查到的数据

Blade 未结 2 807
Tyimashuai
Tyimashuai 剑童 2022-04-28 17:06
悬赏:10

一、该问题的重现步骤是什么?

1. 先配置数据权限

2. 再配置角色添加数据权限

3.查询你数据


二、你期待的结果是什么?实际看到的又是什么?

期待查出的数据进行的数据隔离,但是并没有,还是原来的数据

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2022-04-28 22:37

    需要把你的每一步配置都截图带上,否则我们无法重现帮你找原因。

    数据权限没有生效主要去查这两点:

     1. 超级管理员是不受数据权限控制的,要用其他的账号

     2. 数据权限绑定的mapper方法看一下是否路径正确,如果匹配不到也是不会生效的

    作者追问:2022-04-29 10:02

    sql.JPG

    1. 图三中我给任务发布配置了数据权限

    2. 图一中将该数据权限分配给了人事这个角色

    3. 图二中我通过人事下的测试角色-aj-0428这个账号登录,并且查看数据,发现并未生效

    4. 通过图四中的sql可以发现并未sql语句并无变化

    作者追问:2022-04-29 14:10

    数据权限看截图你只分配给了人事,没有分配给下属的测试角色

    作者追问:2022-04-29 14:18

    还有一点要确认的是,如果角色权限分配无误,你要去检查一下,真实调用的接口,有没有调用到你配置的mapper方法。

    如果检查完都没问题,推荐到blade-starter-scope这个依赖看一下对接的拦截器,打个断点,看看问题出在哪一步。

    如果不会查原因,把你的源码压缩一份发到我们的邮箱并标注每一步操作步骤:bladejava@qq.com

    作者追问:2022-04-29 15:12

    1. 配置了人事下面了测试角色也还是不行,但是sql里面出现了,租户id的校验,即多了wta.tenant_id = '000000',但我配置本人权限或者其他权限都会出现这个租户id的校验,不知道是什么原因

    2. mapper的方法的话路径我检查过好几遍,应该不是路径的问题,

    3. 关于打包源码发给你们效率太低了,方便远程帮忙看一下吗?

    作者追问:2022-04-29 16:07


    作者追问:2022-04-29 16:10

    图片_20220429160953.png

    作者追问:2022-04-29 16:25

    企业截图_16512206822815.png

    回答: 2022-04-29 17:17

    对我们来说,提供你们自己写的源码,我们本地调试,效率最高。况且你现在描述的东西都是局部的,我们没法本地重现。

    回答: 2022-04-29 17:18

    要么你就以bladex现有的模块来做数据权限测试,这样你只需要发具体的步骤和配置就行,不需要发代码

    回答: 2022-04-29 17:22

    主要是你自己写的代码没有截图,包括controller到mapper到代码我们都看不到,没法帮你判断。如果遇到一点点问题就需要帮着远程解决,而不是想着提高你们自己排查问题和描述问题的能力,那下次遇到问题你第一时间还是想着帮你远程解决,这样肯定是不行的。

    所以现在你可以:1. 把代码简化一下打包发给我们,标注如何重现。 2. 以bladex现有模块为主,做一套配置然后如何重现,把步骤重新发一个贴发给我们

    作者追问:2022-04-29 17:32

    这不是扯淡吗,代码发给你们本地调试怎么可能有远程效率高呢,我们这里什么都是现成的,直接演示一遍说不定你们就能看出问题,而且帮助客户快速解决问题不是你们应该做的吗,别说什么提高调试能力什么的,那不是一朝一夕的事情,一个问题从发帖到回复,最起码要一天,就这样的工作效率能搞什么?而且你们提供的开发文档本来就不清晰,还不愿意远程协助,你有回复打字的功夫远程一下问题说不定早就解决了,还要跟你说明这,说明那,还要截图,还要说明步骤,你怎么不让我给你写本书呢?要是想问题少,你们做开发文档的时候就用点心,把各种情况说情况,别推来推去,要么就积极的远程协助。

    回答: 2022-04-29 17:45

    大部分用户根据文档都能生效数据权限,你们没有生效的前提是自己写了代码,而我们本身没有你们的代码,再加上描述不够清楚是没法解决的。远程处理是我们本地没法重现了才会采取的最后一步。用户3000+如果一个文档上标明的功能都需要上来就远程,那就太耗费时间了。

    99%的用户都是很乐意打包发源码给我们来调试的,我们本地调试完如果解决不了也会主动要求远程解决。虽然你们是客户,但请你不要把自己摆在上帝的位置,尊重是相互的。

    0 讨论(0)
  • 2022-04-29 11:50

    麻烦速度帮忙看下,谢谢

    0 讨论(0)
提交回复