4: 用户、角色和权限
Dashboard 是多用户的。访问权限由角色控制,并通过两个范围轴进行管理:用户可以使用哪些服务器和哪些模块。
4.1: 角色
- Admin: 对每个模块和服务器具有完全访问权限。
- User: 仅访问他们被授予的模块和服务器。
prop isAdmin => $this->role === 'admin'4.2: 作用域
非管理员用户拥有两个允许列表:
| 范围 | 控制 |
|---|---|
| 允许的服务器 | 他们可以操作的舰队中的主机 |
| 允许的模块 | 他们可以打开的 Dashboard 模块 |
导航和每个 route 都遵循这两个允许列表,因此一个被限制在某个服务器和 Notifications 模块的用户只会看到这些内容,而不会看到其他任何东西。
4.3: 身份验证
登录使用 bcrypt 密码哈希,fleet 可以根据共享密钥验证用户,因此一个身份可以在子仪表板之间通用。由于 auth 是一个资源,因此任何需要它的 Phlo 应用都可以使用相同的访问控制,而不仅仅是 Dashboard。