权限与安全
PicSpace 的权限由两层组成:系统角色和空间角色。
系统角色
| 角色 | 说明 |
|---|---|
user | 普通用户,可使用图库和空间功能 |
admin | 系统管理员,可进入后台管理用户、图片、空间和数据分析 |
系统级权限通过 @AuthSysUser 与 @AuthSysAdmin 注解控制。
空间权限
空间内的细粒度权限由 Sa-Token 权限校验控制:
| 权限 Key | 说明 |
|---|---|
picture:view | 查看空间图片 |
picture:upload | 上传图片到空间 |
picture:edit | 修改图片信息 |
picture:delete | 删除图片 |
spaceUser:manage | 管理空间成员 |
登录态
后端使用 Spring Session + Redis 保存会话。前端 Axios 实例设置了:
ts
withCredentials: true如果前后端分域部署,需要保证:
- 后端允许跨域携带凭证。
- Cookie 的 SameSite、Domain、Secure 设置符合部署环境。
- 反向代理不要丢失 Cookie 和请求头。
错误码
| 业务码 | 含义 |
|---|---|
0 | 成功 |
40000 | 请求参数错误 |
40100 | 未登录 |
40101 | 无权限 |
40300 | 禁止访问 |
40400 | 请求数据不存在 |
50000 | 系统内部异常 |
50001 | 操作失败 |
生产建议
- 不要在仓库中保存真实数据库、Redis、MinIO 密钥。
- 管理员默认密码应在初始化后立即修改。
- 为 MinIO bucket 设置最小可用权限。
- 对公开图片列表、批量抓取等接口增加限流。
- 上线时关闭不必要的接口调试信息,并限制 Knife4j 访问范围。
