docs: 归档工单 #66 待验收证据

This commit is contained in:
QiuSW
2026-08-14 17:09:40 +08:00
parent 26e2e632d5
commit d74e1aee85
2 changed files with 69 additions and 0 deletions
@@ -0,0 +1,65 @@
<!-- gitea-wiki-mirror:start -->
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
<!-- gitea-wiki-mirror:end -->
# 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)
+4
View File
@@ -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"
}
]
}