在有子机构的情况下,权限“所在机构可见及子级可见”生成sql语句问题

Blade 未结 1 190
eternal
eternal 剑圣 2024-02-04 18:48

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

1. 机构设置了子机构,A机构,A_1机构

2. 菜单权限设置了 A机构--所在机构可见及子级可见,A_1机构--自己可见

3.  A_1 机构用户登录,只能看到自己的结果---正确

    A机构用户登录,查不到数据,正常情况下应该能看到A_1机构的数据;

   通过后台日志看到sql有问题:

select count(*) as total from w_order where is_deleted = 0 and w_order .tenant_id = '000000' 
    and create_dept in ('1751794606668328961,1751889872826216450')

   应该调整为 create_dept in (1751794606668328961,1751889872826216450)

   或者create_dept in ('1751794606668328961','1751889872826216450')才行;

   请问这个在哪里调整?


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

create_dept in ()里的参数正确


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

    版本:BladeX-3.0.1.RELEASE


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


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

1条回答
  • 数据权限需要先进行配置或者添加注解,你这个打印的sql都没用到数据权限,走了数据权限的sql应该是select {} from ({}) scope这种格式的。

    22XX56S8T%([VY9OR2B2G67.png

    数据权限条件拼接在这个地方打断点调试下。

    RV9@S62DN]]2VZQ()`8`0HL.png

    0 讨论(0)
提交回复