From ae7785b6bcfbe1f9105ce76ee8aef5505fc3c0f3 Mon Sep 17 00:00:00 2001 From: ila <2+ila@noreply.git.ilapage.cn> Date: Fri, 14 Aug 2026 17:02:15 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E5=B7=A5=E5=8D=95=20?= =?UTF-8?q?#66=20=E5=BE=85=E9=AA=8C=E6=94=B6=E5=BD=92=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...%91%E6%8E%A5%E5%85%A5%E4%B8%8EProfile.-.md | 57 ++++++++++++------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/Task-66-Sense%E8%A7%86%E9%A2%91%E6%8E%A5%E5%85%A5%E4%B8%8EProfile.-.md b/Task-66-Sense%E8%A7%86%E9%A2%91%E6%8E%A5%E5%85%A5%E4%B8%8EProfile.-.md index 6eb0d41..e8661a0 100644 --- a/Task-66-Sense%E8%A7%86%E9%A2%91%E6%8E%A5%E5%85%A5%E4%B8%8EProfile.-.md +++ b/Task-66-Sense%E8%A7%86%E9%A2%91%E6%8E%A5%E5%85%A5%E4%B8%8EProfile.-.md @@ -1,42 +1,57 @@ # 66 Sense视频接入与Profile -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-14 -- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/66 -- Wiki 页面:Task-66-Sense视频接入与Profile -- Wiki revision:见本地镜像头 +- 工单:https://git.ilapage.cn/ila/yovision/issues/66 +- Pull Request:https://git.ilapage.cn/ila/yovision/pulls/84 +- 主项目:Sense ## 背景与目标 - +在 #65 设备与凭据边界上重建获准网卡 ONVIF 发现、手工接入、认证、RTSP 验证和 Profile 持久化。Brain、Bell 不启动时可独立验收。 ## 最终方案 - - -## 修改文件 - -- `<文件>`:<改动说明> +- WS-Discovery 只绑定 SENSE_ONVIF_DISCOVERY_IP 指定的本机地址;无配置或非本机地址给出明确提示。 +- ONVIF、Media XAddr 和 RTSP Stream URI 均受 SENSE_ONVIF_ALLOWED_CIDRS 限制;每次连接重新解析并固定目标 IP,禁用代理和重定向,拒绝 URL 用户信息及敏感查询参数。 +- ONVIF 支持 Basic、MD5/SHA-256 Digest auth;不支持的算法或 qop 拒绝。 +- 内部读取 #65 的 ONVIF/RTSP 分用途密文,HTTP 不提供凭据读取。 +- Profile、主/子码流、无凭据 Stream URI 和逐项验证状态持久化到 PostgreSQL;失败重探保留最后一次已验证 Profile。 +- 复用 GoAdmin JWT/Casbin/操作审计、迁移和 go-admin-ui BasicLayout、Element Plus Form/Dialog/Table/Tag、动态菜单与权限按钮。 +- implementation_operator、site_admin 可发现和探测,viewer 只读保存结果。 ## 验收结果 -| 验收标准 | 结果 | +| 标准 | 结果 | |---|---| -| | 通过 / 未通过 | +| 未配置获准网卡不扫描 | 单元测试及错误映射通过 | +| Digest/Basic 与 RTSP 验证 | 合成协议服务通过 | +| ONVIF/RTSP 分离凭据且不回显 | 内部端口与严格 DTO 通过 | +| SSRF/重定向/凭据泄漏防护 | CIDR、DNS、URL、重定向测试通过 | +| Profile 重启恢复 | PostgreSQL 17 连接重开测试通过 | +| 认证失败、时间异常、重探 | 状态分类和失败保留 Profile 测试通过 | ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: +- go test ./...:通过。 +- go vet ./...:通过。 +- go build ./...:通过。 +- 前端 lint:0 error,31 条上游继承 warning。 +- 前端单测:9 suites、34 tests 通过。 +- 前端生产构建:通过,6 条继承 warning。 +- PostgreSQL 17:迁移与重复迁移通过;migration=1、tables=2、menus=3、policies=7。 +- SENSE_ADMISSION_TEST_DATABASE_URL 隔离测试:写入 Profile、重开连接、读取主子码流通过。 +- Wiki 镜像检查:通过。 +- 未验证部分:未连接客户或实验室真实摄像机;真实厂商 Digest/RTSP 兼容、网络 ACL、设备校时和目标浏览器留待授权现场验收,不声称已通过。 -## 遗留问题 +## 回退 - +回退 PR #84 的实现和文档提交可移除入口;已产生的接入表保留以避免破坏追溯数据。失败探测本身不删除最后一次已验证 Profile。 ## 相关提交 -- `<提交哈希>` <提交说明> +- 2bb1614 feat: 重建 ONVIF 与 RTSP 视频接入 (#66) +- 26e2e63 docs: 记录 Sense 视频接入安全边界 (#66)