Clone
3
Task-40-Sense全模式密码最短6位
ila edited this page 2026-08-14 09:53:14 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

40 Sense全模式密码最短6位

  • 类型:需求变更
  • 所属 Epic:#7
  • 所属 MVP / 版本:#8
  • 状态:已完成
  • 日期:2026-08-13
  • Gitea 工单:#40
  • Wiki 页面:Task-40-Sense全模式密码最短6位
  • Wiki revision:见本地镜像头

背景与目标

Sense 原规则要求密码至少 12 个字符。负责人在收到生产安全风险提示后,明确确认 demo 与生产全部调整为最少 6 个字符;大小写字母、数字和不得包含用户名的复杂度规则保持不变。

最终方案

  • 后端统一密码校验最短长度由 12 改为 6,bootstrap 和管理员创建用户继续复用同一校验入口。
  • 新增 6 字符通过、5 字符拒绝及大小写/数字/用户名约束的表驱动测试。
  • 前端新用户表单最小长度和中文提示同步为 6。
  • Wiki 记录全模式稳定规则和管理员交付说明。
  • 重新生成 Windows amd64 前后端 ZIP,并用包内程序执行 6 位密码初始化和登录。

修改文件

  • Sense/server/app/sense/identity/password.go:最短长度改为 6。
  • Sense/server/app/sense/identity/password_test.go:长度和复杂度边界测试。
  • Sense/ui/src/views/sense/identity/Users.vue:前端最小长度及提示。
  • docs/03-business-rules-and-glossary.md、docs/delivery/README.md:Wiki-first 规则镜像。
  • wiki-docs.json、docs/task/40-Sense全模式密码最短6位.md:任务归档。

验收结果

验收标准 结果
6 字符合规密码通过统一校验 通过
5 字符密码被拒绝 通过
大写、小写、数字和用户名限制保留 通过
前后端提示一致 通过
Windows ZIP 重新生成并启动 通过
不生成默认账号、密码或秘密 通过

测试

  • go test ./app/sense/identity/...:通过。
  • go test ./...:Sense 全包通过。
  • corepack pnpm@9.15.1 lint:0 error;存在既有格式 warning。
  • cmd /c Sense\scripts\package-windows.bat:通过;前端仅有既有 vendor bundle 体积警告。
  • 包内接口验证:使用 Abc123 初始化返回 201,登录返回 200。
  • ZIP:7,281,361 bytes;SHA-256 9A623C7B1E0F9F925DB7BBE3B5FFBE81D3A6B5BA5819F741D0AEC5681583D63C。
  • Harness:31 项测试和 strict 检查通过;Wiki 镜像检查通过。
  • 未验证部分:未在真实 PostgreSQL 环境执行首次管理员初始化,未由目标管理员人工验收;生产采用 6 字符密码的安全风险为用户明确接受的产品决策。

遗留问题

  • 6 字符最短长度显著弱于原 12 字符规则;本工单未增加 MFA、登录限速或外部身份提供者。

相关提交

  • f841ef1 feat: lower Sense password minimum to six characters (#40)
  • 2d501ea docs: record Sense six-character password policy (#40)
  • 4c4b114 docs: create task 40 acceptance archive (#40)

用户验收

  • 2026-08-14:用户明确确认当前未验收工单通过验收。
  • 本次验收确认该工单在历史 explore 快照中的交付与证据;不恢复旧自研基础框架为 dev 产品基线,后续迁移仍受 #58、#61、#62 约束。