Files
X-Financial/document/development/2026-07-18/dev-logs/bugs/rule-editor-onlyoffice-runtime-platform-access.md

15 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

# 规则在线表格缺少运行依赖且平台资产下载被拒绝
日期2026-07-18
文档路径document/development/2026-07-18/dev-logs/bugs/rule-editor-onlyoffice-runtime-platform-access.md
## 修复记录
- 15:00记录 bug 修复:规则详情无法加载 ONLYOFFICE补齐容器后平台规则文件仍因机器会话缺少有效企业而下载失败。
- Git 提交检查:`git fetch --all --prune` 成功upstream `origin/main`upstream 新提交:未发现;本地 ahead 19 条,最新为 `07241b46 fix(docker): manage local postgres in default compose``787bc3a4 feat(platform): close AI expense value loop``242d68c3 feat(approval): add task workflow and waiver decisions``28b834ed fix(approval): replay immutable action responses``4940ebc4 feat(approval): add safe risk disposition workflow``ee88a36b feat(ai): add tenant-safe hierarchical expense learning``6bdf65bc feat(expenses): add authoritative pre-review workflow``ae3f02c3 feat(expense): add persistent zero-entry receipt association`,另有 11 条。
- 原因:默认 Compose 没有管理 ONLYOFFICE DocumentServer应用配置仍可能被根 `.env` 覆盖服务启动后ONLYOFFICE 内容令牌映射出的合法平台管理员机器会话又被资产访问域统一拒绝。
- 修改:默认 Compose 新增带健康检查和 JWT 的 `onlyoffice` 服务,主应用等待 PostgreSQL 与 ONLYOFFICE 均健康后启动,并分别配置浏览器公共地址和 Compose 网络内回调地址;本地运行配置不再被根 `.env` 悄悄覆盖。
- 修改:平台资产访问域仅允许真实 `is_admin=true` 的平台会话进入,并把可见范围严格限制为 `scope=platform``tenant_id=platform`;普通平台会话继续拒绝,企业管理员也不能借此跨企业访问。
- 操作:通过 `admin/admin` 在系统设置中保存本地 ONLYOFFICE 地址与匹配 JWT 密钥Compose 重建后仅保留一个应用容器 `local-x-financial-linux`,依赖容器为 PostgreSQL 和 ONLYOFFICE三者均为 healthy。
- 验证:规则配置、内容下载和回调链路均返回 200真实页面成功加载公司通信费报销规则工作簿显示完整工具栏、工作表“通信费报销标准”和 A1 内容“序号”;平台资产相关回归 36 条通过,最终后端联合回归 `65 passed``docker compose config --quiet``git diff --check` 通过。
- 影响:在默认 Compose 环境中无需手工启动外部文档服务即可在线查看和编辑规则 Excel同时平台规则访问仍保持最小权限边界。