角色权限控制
Web.Casa 实现了基于角色的访问控制(RBAC),定义了两个预设角色。权限在 API 层强制执行,后端会拒绝所有未授权请求,与前端显示无关。
| 角色 | 访问级别 | 说明 |
|---|---|---|
| 管理员(Admin) | 完全控制 | 创建、修改、删除所有资源;管理用户和系统设置 |
| 查看者(Viewer) | 只读 | 查看仪表盘、配置、监控指标和日志 |
管理员拥有对所有功能的完全访问权限:
- 主机管理 — 创建、编辑、删除反向代理主机和 DNS 提供商
- 证书管理 — 签发、续期和管理 SSL/TLS 证书
- 用户管理 — 创建、编辑和删除用户账户
- 系统设置 — 配置面板设置、Caddy 和环境变量
- 所有插件 — Docker、数据库、备份、监控、文件管理器、终端、防火墙、部署、AI、应用商店、MCP
- 审计日志 — 查看完整的操作记录
查看者拥有只读访问权限:
- 查看主机配置和状态
- 查看系统监控指标
- 浏览容器和数据库状态
- 查看审计日志
查看者不能:
- 创建、修改或删除任何资源
- 管理用户账户
- 访问网页终端或防火墙
- 更改系统设置
权限执行机制
Section titled “权限执行机制”每个 API 请求都通过双层机制进行权限检查:
- 后端强制执行 — 认证中间件从 JWT 令牌中提取用户角色,每个 API 路由指定了最低所需角色。不满足要求的请求将收到 403 Forbidden 响应。
- 前端辅助执行 — 界面根据当前用户角色动态隐藏或禁用按钮、表单和菜单项。此层仅为便利层,后端才是权限的最终裁决者。
用户管理规则
Section titled “用户管理规则”- 初始设置时创建的第一个用户始终为管理员
- 管理员可以创建新用户并分配任一角色
- 管理员可以编辑或删除其他用户
- 不能删除自己的账户 — 此规则防止意外锁定
- 密码最少 8 个字符
- 所有用户管理操作均记录在审计日志中
插件与 RBAC 系统集成。仅限管理员使用的插件(终端、防火墙、文件管理器)会自动要求管理员角色。角色分配和权限变更均记录在审计日志中。