From d74e1aee852a681a098eabf61e9ed8720b3b16bf Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Fri, 14 Aug 2026 17:09:40 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E5=B7=A5=E5=8D=95=20?= =?UTF-8?q?#66=20=E5=BE=85=E9=AA=8C=E6=94=B6=E8=AF=81=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/66-Sense视频接入与Profile.md | 65 +++++++++++++++++++++ wiki-docs.json | 4 ++ 2 files changed, 69 insertions(+) create mode 100644 docs/task/66-Sense视频接入与Profile.md diff --git a/docs/task/66-Sense视频接入与Profile.md b/docs/task/66-Sense视频接入与Profile.md new file mode 100644 index 0000000..de2b518 --- /dev/null +++ b/docs/task/66-Sense视频接入与Profile.md @@ -0,0 +1,65 @@ + +generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) +wiki_page: Task-66-Sense视频接入与Profile +wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-66-Sense%E8%A7%86%E9%A2%91%E6%8E%A5%E5%85%A5%E4%B8%8EProfile.- +wiki_revision: ae7785b6bcfbe1f9105ce76ee8aef5505fc3c0f3 +synchronized_at: 2026-08-14T09:06:47Z + + +# 66 Sense视频接入与Profile + +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 +- 日期:2026-08-14 +- 工单: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) diff --git a/wiki-docs.json b/wiki-docs.json index c928a1d..b98eb58 100644 --- a/wiki-docs.json +++ b/wiki-docs.json @@ -111,6 +111,10 @@ { "page": "Task-65-Sense设备台账与凭据边界", "path": "docs/task/65-Sense设备台账与凭据边界.md" + }, + { + "page": "Task-66-Sense视频接入与Profile", + "path": "docs/task/66-Sense视频接入与Profile.md" } ] }