3.3 KiB
3.3 KiB
ADDED Requirements
Requirement: 后台新登录密码统一校验
后台既有设置新登录密码的表单 SHALL 按用户最新确认使用专用统一校验:长度 8~12 位,仅允许 ASCII 英文字母和数字,必须同时包含大写字母、小写字母和数字。特殊符号、空白、中文、emoji 和其他非英文字母数字字符 MUST 拒绝;用户确认 MUST 优先于原对接说明的四类字符规则。
Scenario: 有效新密码
- WHEN 用户在后台本人改密、账号创建、店铺初始账号、企业创建或企业改密入口输入
Abc12345 - THEN 新密码校验 MUST 通过
- AND 新密码/确认密码输入限制及说明 MUST 为 8~12 位,仅英文字母和数字,且大写、小写和数字三类均必需
- AND 需要确认密码的表单 MUST 验证其与新密码一致
Scenario: 无效新密码
- WHEN 用户输入 7 位、13 位、缺少大写/小写/数字任一类的密码,或包含特殊符号、空白、中文、emoji 等非法字符的密码
- THEN 前端 MUST 阻止提交并展示具体规则提示
- AND MUST NOT 静默 trim 密码后当作合法值提交
Scenario: 字符类别齐全但含特殊符号
- WHEN 用户输入
Abc1234!,长度符合且已包含大写、小写和数字 - THEN 前端 MUST 因
!是禁止的特殊符号拒绝该密码 - AND MUST 提示只允许英文字母和数字,不能按原四类字符规则放行
Scenario: 修改账号未设置新密码
- WHEN 既有账号修改操作未提供可选
password - THEN 页面 MUST NOT 因缺少密码阻止其他字段修改
- AND MUST NOT 提交空密码覆盖原值
- AND 本批次 MUST NOT 仅为接口清单补建当前没有的账号密码编辑入口
Requirement: 后台密码接口字段与旧密码兼容
后台密码服务 SHALL 保持各接口规定的请求字段;本人改密和账号独立改密的新密码使用 new_password,账号创建/可选修改及企业创建/改密使用 password,店铺初始密码使用 init_password。后端字段级错误 MUST 以既有 msg 或提供的 message 展示,不替换为笼统提示,不记录密码。
Scenario: 独立修改账号密码
- WHEN 既有服务调用
PUT /api/admin/accounts/{id}/password - THEN 请求体 MUST 按本批次说明使用
new_password,而不是当前旧封装的password - AND 本批次 MUST NOT 将其他账号接口的
password改名
Scenario: 使用旧密码登录和本人改密
- WHEN 用户使用仍被后端接受的旧密码登录或填写本人改密
old_password - THEN 前端 MUST NOT 对这些旧密码输入套用新的 8~12 位/三类/禁止特殊符号限制
- AND 本人改密成功后的清理表单、清理登录态和返回登录页行为 MUST 保留
Scenario: 非登录密码与 C 端保持不变
- WHEN 实施本批次密码适配
- THEN 操作密码、WiFi 密码和通用校验器其他调用行为 MUST 保持不变
- AND 本仓库公开扫码注册页面和所有
/api/c/v1服务 MUST 不修改
Scenario: 展示后端字段级原因
- WHEN 密码相关请求返回包含具体校验原因的
msg或message - THEN 页面 MUST 展示该原因且不重复弹错
- AND 请求、日志和错误反馈 MUST NOT 输出输入的密码值