where not exists 这里面的其实就是关闭权限的部分,但是它写的有点问题,应该放到最外层。用户单独设置的关闭权限其实是优先于角色权限。
where not exists (select 1 from FINE_AUTHORITY f1 where f1.AUTHORITY=1 and (B.id=f1.AUTHORITYENTITYID or B.PARENTID0=f1.AUTHORITYENTITYID or B.PARENTID1=f1.AUTHORITYENTITYID or B.PARENTID2=f1.AUTHORITYENTITYID or B.PARENTID3=f1.AUTHORITYENTITYID or B.PARENTID4=f1.AUTHORITYENTITYID) and A.用户ID=f1.roleid and B.AUTHORITYTYPE=f1.AUTHORITYTYPE)
18 评论
按着个做出来权限结果有问题。
场景:一个用户赋了一个角色的权限,但是在用户权限上 关闭了其中部分报表
这样的用户用这张表查还是有全部角色的权限,但实际上在平台上只能看见角色权限排除掉关闭部分的报表
赞 0 2021-06-17 16:29
where not exists 这里面的其实就是关闭权限的部分,但是它写的有点问题,应该放到最外层。用户单独设置的关闭权限其实是优先于角色权限。
where not exists (select 1 from FINE_AUTHORITY f1 where f1.AUTHORITY=1 and (B.id=f1.AUTHORITYENTITYID or B.PARENTID0=f1.AUTHORITYENTITYID or B.PARENTID1=f1.AUTHORITYENTITYID or B.PARENTID2=f1.AUTHORITYENTITYID or B.PARENTID3=f1.AUTHORITYENTITYID or B.PARENTID4=f1.AUTHORITYENTITYID) and A.用户ID=f1.roleid and B.AUTHORITYTYPE=f1.AUTHORITYTYPE)
赞 0 2022-07-05 15:14
我对你的回答有一些疑问,第一点就是模板现在的代码就是把where not exists放在了最外面了,第二点就是你这段代码和模板里面的是一样的。
赞 0 2023-09-07 17:15
查询用户目录权限的时候数据集报错请问怎么解决呢
赞 1 2021-05-11 19:35
查询用户目录权限的时候报错
赞 1 2021-05-11 19:27
查询用户目录权限的时候报错
赞 1 2021-05-11 19:27