Bladex-boot版本Web全自动配置数据权限不生效

Blade 未结 2 451
konexiaobo
konexiaobo 剑童 2024-07-28 15:44

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

  1. Bladex-boot版本如下

    image.png

     

    2.  这是我要执行数据权限的mapper

image.png

image.png

image.png


3. 下面是我的目录结构

image.png


4. 这是我通过web全自动配置的方式

image.png


image.png


image.png


image.png



image.png

然后登录其他用户执行这个方法的时候,并没有走数据权限

image.png



于是我打了断点

image.png


image.png


image.png

image.png


image.png


下面是配置文件

image.png


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

我希望能够按照我设定的数据权限,实现只能看到自己创建的数据,而现在数据权限并没有生效,可以看到所有人的



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

正在使用的是商业授权过的BladeX-Boot-master版本,版本是4.0.1.RELEASE,在windows10操作系统上


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

没有报错,就是数据权限没有生效

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


2条回答
  • 2024-07-28 20:50

    从59行直接就跳转到了71行,mapperSkip=true,并且dataAuth=null,所以就没执行if条件里面的代码,所以数据权限就直接没有生效

    image.png

    0 讨论(0)
  • 2024-07-29 00:37

    下载对应版本的bladex-tool,选择develop模式,根目录执行mvn clean install。

    然后就可以看到源码模式,在源码模式下进行断点调试会更清晰,这样可以很轻松的找到原因。

    发布版本地址,找到对应版本下载附件:https://center.javablade.com/blade/BladeX/releases

    CleanShot20240729003609@2x.png

    作者追问:2024-07-29 08:41

    我的是bladex-boot商业授权的版本,我的账号是704297000,这个是什么意思,是我的项目中引入bladex-tool吗,如何调试,能不能说明白点,我按照你们的文档检查了很多次,配置的没问题的,但是现在通过web方式配置就是不行,而通过注解方式却是可以的

    回答: 2024-07-29 10:26

    你打断点的截图不是源码模式,所以打断点很费劲不能一目了然问题在哪里。

    你现在下载4.0.1版本的BladeX-Tool工程(这个是jar包核心依赖的源码),在BladeX-Tool工程(勾选develop模式)根目录执行mvn clean install后,就可以把源码模式的jar包安装到本地。你打开bladex-boot工程刷新依赖,再打开jar包就可以看到源码了。

    打开源码模式后再打断点,然后把这段代码每一行的参数打印出来看看是什么,然后再帮忙判断。

    //注解为空并且数据权限方法名未匹配到,则放行
    String mapperId = ms.getId();
    String className = mapperId.substring(0, mapperId.lastIndexOf(StringPool.DOT));
    String mapperName = ClassUtil.getShortName(className);
    String methodName = mapperId.substring(mapperId.lastIndexOf(StringPool.DOT) + 1);
    boolean mapperSkip = dataScopeProperties.getMapperKey().stream().noneMatch(methodName::contains)
        || dataScopeProperties.getMapperExclude().stream().anyMatch(mapperName::contains);
    if (dataAuth == null && mapperSkip) {
        return;
    }


    作者追问:2024-07-29 11:04

    我下载下来了

    image.png

    然后这里也是重新生成的

    image.png


    image.png


    然后重新打开文件,还是源码这种方式,是我哪一步操作的不对吗,大佬,能不能远程解决一下,项目着急上线,现在就卡到数据权限这里了,有偿,我的weixin:17640415854 









    回答: 2024-07-29 11:20

    加下我们企业 https://bladex.cn/#/contract

    0 讨论(0)
提交回复