#19084·dataease

[Bug] 定时报告-接收人权限:接收人对数据源拥有使用权限时 queryResourcePermission 空指针

Author: Wanpl-JavaCreated Sep 7, 2026Updated Sep 7, 2026
Labels状态:待处理状态:待反馈

DataEase 版本 2.10.22

运行方式 安装包 / Docker

Bug 描述 定时报告数据权限选择「接收人权限」时,若某个系统内接收人对数据源同时拥有「查看 + 使用」权限,任务执行失败,出现 NullPointerException。 改为「创建人权限」正常;取消该接收人对该数据源的「使用」权限(仅保留「查看」)后,「接收人权限」也可正常发送。

Bug 重现步骤

  1. 准备用户 A,在【权限配置】中对该数据源勾选「查看」「使用」(不勾管理/授权)
  2. 创建定时报告,数据权限选「接收人权限」,接收人包含用户 A(可与其他用户一起)
  3. 执行定时报告
  4. 查看执行日志报错
  5. 取消用户 A 对该数据源的「使用」,仅保留「查看」,再次执行 → 成功
  6. 数据权限改为「创建人权限」→ 成功

错误日志 java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "java.util.Map.get(Object)" is null at io.dataease.xpack.permissions.auth.server.ResourceAuthServer.queryResourcePermission(...)

预期结果 接收人对数据源拥有「查看 + 使用」属于合法授权,定时报告按接收人权限执行时应正常出数/发送,不应 NPE。

实际结果 任务失败;取消「使用」或改用创建人权限后恢复正常。