如何控制admin和普通用户sql查询的?

Blade 未结 1 51
passion
passion 剑童 2024-11-29 16:17

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


版本4.3.0微服务版
我想了解一下,admin账户,请求接口的时候,框架是怎么识别到这个人是管理员,去控制他的查询条件的。
举个例子:我有一个sql,这个sql是根据create_dept查询相应的数据的,查询列表通过这个字段做了数据权限的把控。但是我要是管理员登录的时候,我看项目中sql 是直接where的全部数据;create_dept in (****) 这个条件就没有了。


如果我定义了一个sql
select * from blade_data where delete =0 and user_id = #{userId};
我的user_id 就是用户自己id,但是如果是admin用户的话,他就要查询到所有数据  user_id这个条件就不需要了。框架中有什么处理方式吗?


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


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


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


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

1条回答
  • 2024-11-29 19:51

    通过AuthUtil.isAdministrator()方法来判断是否为超级管理员。之后你就可以加上你所需要的逻辑了,根据是否为超管来进行过滤逻辑。


    0 讨论(0)
提交回复