# 限制 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` - 预期涉及代码: - Handler:`internal/handler/admin/iot_card_import.go` - Routes/OpenAPI:`internal/routes/iot_card.go` - 集成测试:`tests/integration/iot_card_test.go`(或新增对应测试文件)