easy-query icon indicating copy to clipboard operation
easy-query copied to clipboard

【请求支持】缺少针对列的查询拦截器

Open bkbits opened this issue 8 months ago • 2 comments

目前具有的常用拦截器有插入、更新、条件拦截器,但缺少可以动态控制查询列的拦截器实现。 例如针对以下代码:

@Data
public class User {
    private Long id;
    private String userName;
    private String phoneNumber;
}

在管理员权限时我需要查看到phoneNumber列数据,但是在普通用户权限下,我不需要查询该列,并且也不希望接口将此列的数据暴露出去,此时需要一个动态的列查询拦截器来进行列级别的权限控制。

bkbits avatar Mar 31 '25 07:03 bkbits

如果你描述的字段不具有通用性,只对少部分表有效,那不如做几个不同的DTO或者在select里动态判断select哪些字段,你描述的拦截器我感觉应该是用在一些通用字段上

gtxmz avatar Apr 11 '25 03:04 gtxmz

对于列查询拦截会有如下应用场景: 根据不同权限查询不同列的数据,比如超级管理员会查询到所有列,A角色查询到A列、B角色则查询到B列,此时如果每个角色都需要创建一个DTO的话,不仅麻烦,而且无法动态的在前端设置哪些角色应该查询哪些列,稍微复杂一点的统计数据很可能会需要这样的功能

bkbits avatar May 28 '25 07:05 bkbits