4: Gebruikers, rollen en machtigingen
Het Dashboard is multi-user. Toegang wordt gecontroleerd op basis van rol en door twee afbakeningsassen: welke servers en welke modules een gebruiker mag gebruiken.
4.1: Rollen
- Admin: volledige toegang tot elk module en elke server.
- User: toegang alleen tot de modules en servers waartoe zij zijn toegestaan.
prop isAdmin => $this->role === 'admin'4.2: Afbakening
Een niet-beheerder gebruiker heeft twee toegestane lijsten:
| Bereik | Controles |
|---|---|
| toegestane servers | op welke hosts in de fleet ze kunnen handelen |
| toegestane modules | welke Dashboard-modules ze kunnen openen |
De navigatie en elke route respecteren beide, zodat een gebruiker die is beperkt tot één server en de Notifications-module precies dat ziet en verder niets.
4.3: Authenticatie
Login maakt gebruik van bcrypt-wachtwoordhashing, en de fleet kan een gebruiker verifiëren aan de hand van een gedeeld geheim, zodat één identiteit werkt op verschillende sub-dashboards. Omdat auth een resource is, is dezelfde toegangsbewaking beschikbaar voor elke Phlo-app die het nodig heeft, niet alleen voor de Dashboard.