- 5 operator roles (Owner/Admin/Support/Billing/Read-only) seeded via migration with a capability catalogue; app checks capabilities via Gate, never role names - every mutating admin action authorizes server-side (hosts/datacenters/customers/ impersonate/provisioning); is_admin reads migrated to console.view / isOperator() - admin /settings: own account + Owner-only staff invite/role/revoke with last-owner, self-role and customer-collision guards (transactional) - sidebar 'zum Kundenportal' link replaced with Settings Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Admin | ||
| Auth | ||
| Provisioning | ||
| BillingTest.php | ||
| ComponentTest.php | ||
| DashboardTest.php | ||
| ExampleTest.php | ||
| ImpersonationTest.php | ||
| PortalTabsTest.php | ||
| SeatsTest.php | ||
| SettingsTest.php | ||
| WelcomeTest.php | ||