Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
Fix batch tagging and upload token auth; single API token and tagNames-only upload; tag management sort and responsive layout.
71 lines
3.2 KiB
Markdown
71 lines
3.2 KiB
Markdown
# 用户与权限
|
||
|
||
PicHost 使用基于角色的访问控制(RBAC):**管理员(admin)** 与 **普通用户(user)**。权限在服务端强制,不可仅靠前端绕过。
|
||
|
||
## 角色能力
|
||
|
||
| 能力 | 管理员 | 普通用户 |
|
||
| ---- | :----: | :------: |
|
||
| 上传图片 | ✓ | ✓ |
|
||
| 查看自己的图库 | ✓ | ✓ |
|
||
| 查看全部图库 / 上传者标签 | ✓ | — |
|
||
| 存储后端管理(`/storage`) | ✓ | — |
|
||
| 系统设置(`/settings`) | ✓ | — |
|
||
| 开放注册开关 | ✓ | — |
|
||
| 登录人机验证方式(滑块 / Turnstile / Cap) | ✓ | — |
|
||
| API Token(每账号一个) | ✓ | ✓ |
|
||
| 图库统计概览(含注册用户数) | ✓ | 部分 |
|
||
| 标签管理(设置 → 标签管理) | ✓ | — |
|
||
| 操作日志(设置 → 操作日志) | ✓ | — |
|
||
|
||
普通用户顶栏:**API**、**图库**;用户菜单:**修改密码**、**退出登录**。
|
||
|
||
## 鉴权场景
|
||
|
||
| 场景 | 鉴权方式 | 图片归属 / 可见范围 |
|
||
| ---- | -------- | ------------------- |
|
||
| 网页上传 | Session Cookie | 当前登录用户 |
|
||
| API 上传 | `Auth-Token` 或表单 `token` | Token 对应账号(遗留 `API_UPLOAD_TOKEN` 归属首个管理员) |
|
||
| Twikoo `POST /api/index.php` | 表单 `token` | 同上 |
|
||
| 图库列表 / 搜索 / 删除 | Session 或 Token | 普通用户仅自己;管理员全部 |
|
||
| 图片直链 `GET /images/...` | 无(Referer 防盗链) | 知道 URL 即可访问 |
|
||
|
||
## 注册与账号
|
||
|
||
- 默认仅管理员可创建用户;管理员可在设置中 **开放注册**
|
||
- 密码使用 scrypt 哈希存储
|
||
- Web 登录/注册需完成人机验证:默认本地滑块;管理员可在 **设置 → 访问控制** 切换 Turnstile 或 Cap
|
||
- 验证配置错误无法登录时:`docker exec pichost slider` 重置为本地滑块
|
||
- 登录失败有速率限制
|
||
|
||
## 标签
|
||
|
||
- 标签按 **用户隔离**:普通用户仅管理、筛选自己的标签与图片
|
||
- 首页上传完成后可 **单张打标** 或 **批量打标签**;图库支持按标签筛选(多标签 OR / AND)与批量打标
|
||
- 管理员在 **设置 → 标签管理** 新建、改色、合并、删除标签;标签仅用于分类,**不改变** `images/` 存储路径
|
||
|
||
 
|
||
|
||
## 操作日志
|
||
|
||
管理员在 **设置 → 操作日志** 查看上传、删除、登录、设置变更、标签操作等记录,支持按日期、用户、操作类型、来源筛选。
|
||
|
||

|
||
|
||
## 上传偏好与自动删除
|
||
|
||
- **上传偏好**:管理员在 **设置 → 基础设置** 配置客户端预压缩、自动复制链接等;普通用户可在首页上传卡片背面调整个人偏好
|
||
- **自动删除**:管理员可设全局策略;用户可设个人策略。启用后仅影响 **之后新上传** 的图片
|
||
|
||
## API Token
|
||
|
||
- **每个账号一个 Token**(含管理员),在 **API** 页查看或重新生成;首次打开会自动创建
|
||
- 上传、`tagNames` 打标、图库接口均归属 **该 Token 所属账号**
|
||
- 环境变量 **`API_UPLOAD_TOKEN`**(旧部署)仍可作为鉴权密钥,上传归属 **首个管理员**,见 [环境变量](./configuration.md)
|
||
|
||
## 相关
|
||
|
||
- [API](./api.md)
|
||
- [Twikoo](./twikoo.md)
|
||
- [存储](./storage.md)
|