非root角色用户的执行flowSql:run权限的问题,报错“no permissions”

* 描述问题

现象:
1.普通用户,非管理员角色(root)
2.普通用户配置的角色,无“允许配置页面”的权限
3.在 配置了含有sql语句的“JavaScript”中页面中,报错“no permissions”

影响:
1.普通用户不需要“允许配置页面”的权限,但又导致部分页面报错“no permissions”
2.这种情况应该如何处理

* 运行环境

  • NocoBase 版本: v2.2.17
  • 数据库种类与版本: PostgreSQL
  • 操作系统:
  • 部署方式:
  • Docker 镜像版本:
  • NodeJS 版本:

如何重现

预期行为

1.普通用户无需配置“允许配置页面”的权限,普通用户不应该开放修改界面的权限,在含有sql脚本的页面不报错

截图



日志

你好,这不是权限漏配:flowSql:run 属于 SQL 配置权限(角色里的“允许配置界面”),普通角色默认没有,所以页面报 No permissions。普通用户不需要开放该权限:先用管理员账号执行 ctx.sql.save({ uid, sql }) 保存 SQL 模板,再把页面 JS 改成 ctx.sql.runById(‘uid’, { type: ‘selectRows’ }),runById 所有登录用户都可用。参考 ctx.sql - NocoBase 文档