Files
huang a30b3036bb
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m10s
feat(iot-card-import): 为导入任务接口添加平台用户权限控制
- 在 Import/List/GetByID 接口添加用户类型校验
- 仅超级管理员和平台用户可访问
- 同步更新 OpenAPI 路由描述
- 补充集成测试覆盖权限拒绝场景
2026-02-02 10:25:03 +08:00

1.6 KiB
Raw Blame History

限制 IoT 卡导入任务接口仅平台用户可访问

Feature ID: feature-iot-card-import-task-platform-only

Why

目前设备导入任务列表/详情已限制为仅平台用户/超级管理员可访问,但 IoT 卡导入任务列表/详情/提交导入未做同等限制,存在权限边界不一致与潜在越权风险。

需要将 IoT 卡导入任务相关接口的访问权限收敛为与设备导入一致,避免非平台账号通过后台接口获取或操作导入任务。

What Changes

  • 权限收敛IoT 卡导入相关接口仅允许超级管理员与平台用户访问;其他用户类型访问返回 403。
  • 接口范围
    • POST /api/admin/iot-cards/import
    • GET /api/admin/iot-cards/import-tasks
    • GET /api/admin/iot-cards/import-tasks/:id
  • 文档一致性:补充路由描述,确保 OpenAPI 文档与实际权限一致。
  • 测试补齐:新增/补充集成测试覆盖非平台用户访问上述接口应被拒绝。

Capabilities

New Capabilities

Modified Capabilities

  • iot-card-import-task: 将“导入任务列表/详情/提交导入”的访问权限从“按 shop_id 数据权限过滤”调整为“仅平台用户/超级管理员可访问”。

Impact

  • 影响 API/api/admin/iot-cards/import/api/admin/iot-cards/import-tasks/api/admin/iot-cards/import-tasks/:id
  • 预期涉及代码:
    • Handlerinternal/handler/admin/iot_card_import.go
    • Routes/OpenAPIinternal/routes/iot_card.go
    • 集成测试:tests/integration/iot_card_test.go(或新增对应测试文件)