feat: 管理员跨租户管理 + 注册开关
- 管理员可管理任意用户笔记(读取/修改/删除/回收站/标签/图谱/FTS 全平台) - 普通用户仍数据隔离, 越权返回404 - 新增注册开关: 管理员后台⚙设置可开/关, 支持REGISTRATION_ENABLED环境变量 - 注册关闭时前台/登录页隐藏注册入口, 注册接口返回400 - 冒烟测试扩展到91用例全过
This commit is contained in:
@@ -741,3 +741,15 @@ await fetch('/api/notes', {
|
||||
|
||||
- `note_token` 会话 cookie:HttpOnly + SameSite=Lax(防 CSRF),随机 32 字节 token,7 天过期,服务端内存校验绑定用户。
|
||||
- 密码 bcrypt(cost 10),兼容旧 SHA-256 自动升级。
|
||||
|
||||
### v5 管理员跨租户管理 + 注册开关
|
||||
|
||||
- **管理员跨租户管理**:`admin` 角色的用户可读取/修改/删除/恢复/分享任意用户的笔记,树/列表/回收站/分类/标签/图谱/FTS 均显示全平台数据;普通用户仍只能操作自己的数据(越权 404)。
|
||||
- **注册开关**:管理员可在后台「⚙ 设置」中开启/关闭注册。关闭后 `/api/auth/register` 返回 400「注册功能已关闭」,前台与登录页隐藏「注册」入口,仅已有账号可登录。
|
||||
- 默认通过环境变量 `REGISTRATION_ENABLED`(默认 `true`)设置,运行时可在后台切换并持久化。
|
||||
- 接口:
|
||||
| 方法 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| GET | `/admin/api/settings/registration` | 获取注册开关状态(管理员) |
|
||||
| PUT | `/admin/api/settings/registration` | 设置注册开关 `{enabled}`(管理员) |
|
||||
| GET | `/api/auth/me` | 返回当前用户角色及 `registration_enabled` |
|
||||
|
||||
Reference in New Issue
Block a user