feat(server): 敏感字段加密与脱敏(F25)
- 新增敏感字段加密服务(AES-256-GCM,FIELD_ENCRYPTION_KEY) - users 详情返回银行卡/身份证脱敏字段;新增 /users/:id/sensitive 特权明文接口并写审计 - 权限新增 system.users_sensitive(hr/admin) - 更新 env/README 与 v3 CSV 状态推进
这个提交包含在:
@@ -366,19 +366,24 @@ npm run job:ocr-once
|
||||
### 5.9 账号与角色管理(E17,试运行运营)
|
||||
- `GET /api/users`:员工列表(分页/搜索)
|
||||
- `POST /api/users`:创建员工(含初始密码)
|
||||
- `GET /api/users/:id`:员工详情(管理员可看全部;员工可看自己;敏感字段仅返回脱敏)
|
||||
- `POST /api/users/:id/disable`:禁用员工(tokenVersion+1 + 撤销 refresh)
|
||||
- `POST /api/users/:id/enable`:启用员工(tokenVersion+1 + 撤销 refresh)
|
||||
- `POST /api/users/:id/reset-password`:重置密码(返回一次性口令,tokenVersion+1)
|
||||
- `POST /api/users/:id/roles`:设置角色(tokenVersion+1 + 撤销 refresh)
|
||||
- `GET /api/users/:id/sensitive`:敏感字段明文查询(F25)
|
||||
- `PATCH /api/users/:id/sensitive`:敏感字段更新(F25)
|
||||
|
||||
权限:
|
||||
- `system.users`(hr/admin;admin 具备 `*`)
|
||||
- `system.users_sensitive`(仅特权账号;用于解密查看/更新银行卡、身份证等)
|
||||
|
||||
---
|
||||
|
||||
## 6. 关键环境变量
|
||||
- `DATABASE_URL`: PostgreSQL 连接串
|
||||
- `JWT_SECRET`: JWT & signed-url token 签名密钥
|
||||
- `FIELD_ENCRYPTION_KEY`: 敏感字段加密密钥(AES-256-GCM;base64 32 bytes;用于银行卡/身份证等)
|
||||
- `APP_TIMEZONE`: 默认 `Asia/Shanghai`
|
||||
- `STORAGE_DIR`: 默认 `generated/storage`(相对 `server/`)
|
||||
- `SERVE_CLIENT_DIST`: 是否由 server 托管 `client/dist`(默认 `false`)
|
||||
|
||||
在新工单中引用
屏蔽一个用户