All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m10s
- 在 Import/List/GetByID 接口添加用户类型校验 - 仅超级管理员和平台用户可访问 - 同步更新 OpenAPI 路由描述 - 补充集成测试覆盖权限拒绝场景
1.6 KiB
1.6 KiB
限制 IoT 卡导入任务接口仅平台用户可访问
Feature ID: feature-iot-card-import-task-platform-only
Why
目前设备导入任务列表/详情已限制为仅平台用户/超级管理员可访问,但 IoT 卡导入任务列表/详情/提交导入未做同等限制,存在权限边界不一致与潜在越权风险。
需要将 IoT 卡导入任务相关接口的访问权限收敛为与设备导入一致,避免非平台账号通过后台接口获取或操作导入任务。
What Changes
- 权限收敛:IoT 卡导入相关接口仅允许超级管理员与平台用户访问;其他用户类型访问返回 403。
- 接口范围:
POST /api/admin/iot-cards/importGET /api/admin/iot-cards/import-tasksGET /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 - 预期涉及代码:
- Handler:
internal/handler/admin/iot_card_import.go - Routes/OpenAPI:
internal/routes/iot_card.go - 集成测试:
tests/integration/iot_card_test.go(或新增对应测试文件)
- Handler: