fix: 用户密码最小长度调整为六位 (#55)
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
- SKU 映射复用:第二次匹配同一 SKU 应自动带出;
|
||||
- 在线状态派生:`last_seen_at` 刚好在边界前后。
|
||||
- 密码哈希校验:正确密码成功,错误密码失败,数据库不出现明文密码;
|
||||
- 密码长度边界:5 个字符拒绝、6 个字符接受;初始化、创建和重置规则一致;
|
||||
- 角色校验:管理员可以管理用户,采购员访问用户管理返回 `403`;
|
||||
- 最后管理员保护:不能禁用最后一个有效管理员。
|
||||
- 客户端归属:一人多客户端、一台客户端唯一当前负责人、转交/解绑历史完整;
|
||||
@@ -106,6 +107,8 @@
|
||||
- `[建议]` MVP 只监听 `127.0.0.1`,不对外暴露。要给内网用再单独评估。
|
||||
- `[必须]` 不提供固定默认密码和公开注册;第一位管理员由用户首次初始化。
|
||||
- `[必须]` 密码使用成熟算法哈希,禁止自创加密、明文保存或可逆加密。
|
||||
- `[必须]` 密码最少 6 个字符、最多 72 个字节;初始化、创建采购员、重置密码
|
||||
的服务端校验和 HTML 表单约束保持一致。
|
||||
- `[必须]` 首次管理员创建必须在数据库写事务中完成,并发请求最多一个成功。
|
||||
- `[必须]` 登录成功后使用新的随机 Session Token,数据库只保存其 SHA-256 哈希。
|
||||
- `[必须]` 登录 Cookie 设置 `HttpOnly`、`SameSite=Lax`、`Path=/`;HTTPS 部署时设置 `Secure`。
|
||||
|
||||
Reference in New Issue
Block a user