ruoyi若依 @DataScope(deptAlias = “d“, userAlias = “u“)不生效问题

发布时间:2024年01月06日

问题:@DataScope(deptAlias = “d”, userAlias = “u”)不生效问题

原因排查:

调用Service的方法:

@Override
@DataScope(deptAlias = "d", userAlias = "u")
public void toExportExcel(HttpServletRequest request, HttpServletResponse response,RequestDemo requestDemo) {
    /** 查询接触数据 */
    List<RequestDemo> list = demoMapper.query(requestDemo);
}

在这里插入图片描述
debug时发现获取到的是方法的第一个参数request,并不是想要的查询参数requestDemo,不属于BaseEntity,所以会不赋值,导致没有拼接SQL语句,权限过滤不生效。

解决方案:

将service的参数顺序调整(查询参数调整到第一个):

    @Override
    @DataScope(deptAlias = "d", userAlias = "u")
    public void toExportExcel(RequestDemo requestDemo, HttpServletRequest request, HttpServletResponse response) {
        /** 查询接触数据 */
        List<RequestDemo> list = demoMapper.query(requestDemo);
    }

结果:完美解决

文章来源:https://blog.csdn.net/weixin_48052655/article/details/135422385
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。