Skip to content

[runtime] 动作 body 沙箱 ctx.user 恒为 system:REST 动作路由独漏 ec?.userId 回退 #2701

Description

@baozhoutao

概述

/actions/:object/:action 路由执行动作 body 沙箱时,context 从不解析会话用户,ctx.user 恒为 { id: 'system' }(无 id、无 roles)。导致动作 body 内无法按操作者身份/业务角色分支,也无法做服务端强制的归属校验。

定位

  • packages/runtime/src/http-dispatcher.ts:3271-3272 —— 构建动作执行 context 时独漏ec?.userId 回退。
  • 对照同文件其它入口均正确解析会话用户:MCP 路径 :822、record-change 触发 :2972 都带 ec.userId
  • 说明这是单点遗漏/回归,而非有意设计。

期望

动作 body context 解析会话用户,至少提供 ctx.user.id(与 MCP/record-change 一致),并暴露业务角色。

补充

原 issue 还称「record-change flow 也拿不到角色」——经核查该分支ec.roles,此子主张不成立,本 issue 只针对 action body。


来源(项目 dogfood):steedos-labs/os-tianshun-mtc#36

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions