Files
FileHost/docs-site/guide/users-and-permissions.md
T
O96u 737235acff
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
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
release: v1.4.0 — 标签系统、操作日志扩展与文档截图更新
- 每用户标签与彩色打标,图库 OR/AND 筛选与批量打标
- 操作日志记录登录、删除、设置与标签操作
- API 标签/打标接口;README 与文档站截图同步
2026-09-09 14:46:52 +08:00

3.4 KiB
Raw Blame History

用户与权限

PicHost 使用基于角色的访问控制(RBAC):管理员(admin) 与 普通用户(user)。权限在服务端强制,不可仅靠前端绕过。

角色能力

能力 管理员 普通用户
上传图片 ✓ ✓
查看自己的图库 ✓ ✓
查看全部图库 / 上传者标签 ✓ —
存储后端管理(/storage) ✓ —
系统设置(/settings) ✓ —
开放注册开关 ✓ —
登录人机验证方式(滑块 / Turnstile / Cap) ✓ —
全局 API Token 管理 ✓ —
个人 API Token ✓ ✓
图库统计概览(含注册用户数) ✓ 部分
标签管理(设置 → 标签管理) ✓ —
操作日志(设置 → 操作日志) ✓ —

普通用户顶栏:API、图库;用户菜单:修改密码、退出登录。

鉴权场景

场景 鉴权方式 图片归属 / 可见范围
网页上传 Session Cookie 当前登录用户
API 上传 + 个人 Token Auth-Token 头 Token 所属用户
API 上传 + 全局 Token Auth-Token 头 管理员(userId 为空)
Twikoo POST /api/index.php 表单 token 与全局 Token 相同
图库列表 / 搜索 / 删除 Session 或 Token 普通用户仅自己;管理员全部
图片直链 GET /images/... 无(Referer 防盗链) 知道 URL 即可访问

注册与账号

  • 默认仅管理员可创建用户;管理员可在设置中 开放注册
  • 密码使用 scrypt 哈希存储
  • Web 登录/注册需完成人机验证:默认本地滑块;管理员可在 设置 → 访问控制 切换 Turnstile 或 Cap
  • 验证配置错误无法登录时:docker exec pichost slider 重置为本地滑块
  • 登录失败有速率限制

标签

  • 标签按 用户隔离:普通用户仅管理、筛选自己的标签与图片
  • 首页上传完成后可 单张打标 或 批量打标签;图库支持按标签筛选(多标签 OR / AND)与批量打标
  • 管理员在 设置 → 标签管理 新建、改色、合并、删除标签;标签仅用于分类,不改变 images/ 存储路径

批量打标 标签管理

操作日志

管理员在 设置 → 操作日志 查看上传、删除、登录、设置变更、标签操作等记录,支持按日期、用户、操作类型、来源筛选。

操作日志

上传偏好与自动删除

  • 上传偏好:管理员在 设置 → 基础设置 配置客户端预压缩、自动复制链接等;普通用户可在首页上传卡片背面调整个人偏好
  • 自动删除:管理员可设全局策略;用户可设个人策略。启用后仅影响 之后新上传 的图片

API Token 说明

类型 谁管理 上传归属 典型用途
全局 Token 管理员(API 页) 管理员账号 Twikoo、站点级脚本
个人 Token 各用户(API 页) 该用户 个人博客、私有脚本

若设置了环境变量 API_UPLOAD_TOKEN,则全局 Token 被锁定,见 环境变量。

相关