# 用户与权限 PicHost 使用基于角色的访问控制(RBAC):**管理员(admin)** 与 **普通用户(user)**。权限在服务端强制,不可仅靠前端绕过。 ## 角色能力 | 能力 | 管理员 | 普通用户 | | ---- | :----: | :------: | | 上传图片 | ✓ | ✓ | | 查看自己的图库 | ✓ | ✓ | | 查看全部图库 / 上传者标签 | ✓ | — | | 存储后端管理(`/storage`) | ✓ | — | | 系统设置(`/settings`) | ✓ | — | | 开放注册开关 | ✓ | — | | 全局 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 登录需先完成滑动拼图验证(拖动滑块对齐缺口) - 登录失败有速率限制 ## 上传偏好与自动删除 - **上传偏好**:管理员在 **设置 → 基础设置** 配置客户端预压缩、自动复制链接等;普通用户可在首页上传卡片背面调整个人偏好 - **自动删除**:管理员可设全局策略;用户可设个人策略。启用后仅影响 **之后新上传** 的图片 ## API Token 说明 | 类型 | 谁管理 | 上传归属 | 典型用途 | | ---- | ------ | -------- | -------- | | **全局 Token** | 管理员(API 页) | 管理员账号 | Twikoo、站点级脚本 | | **个人 Token** | 各用户(API 页) | 该用户 | 个人博客、私有脚本 | 若设置了环境变量 `API_UPLOAD_TOKEN`,则全局 Token 被锁定,见 [环境变量](./configuration.md)。 ## 相关 - [API](./api.md) - [Twikoo](./twikoo.md) - [存储](./storage.md)