-- Migration 012: Benutzerrollen -- -- Additive Migration. Der Migrator toleriert 1050/1060/1061/1062/1091. -- --------------------------------------------------------------------------- -- Wozu darf sich dieses Konto anmelden? -- --------------------------------------------------------------------------- -- Die Erstinstallation einer Anwendung laeuft ueber ein Konsolenwerkzeug, das -- auf dem jeweiligen Zielsystem nach Benutzername und Passwort fragt. Wuerde -- man dort das Admin-Konto eingeben, verteilte man die Zugangsdaten zur -- gesamten Verwaltungsoberflaeche auf jeden Rechner, auf dem je etwas -- installiert wurde. -- -- 'installer' ist deshalb eine eigene Rolle: sie darf ueber -- /api/setup/v1/login ein kurzlebiges Token ziehen und Anwendungen -- einrichten - und sonst nichts. Insbesondere ist die Anmeldung am WebUI fuer -- sie gesperrt. -- -- Bestandsschutz: alle vorhandenen Konten werden 'admin', damit sich am -- bisherigen Verhalten nichts aendert. ALTER TABLE dc_users ADD COLUMN role ENUM('admin','installer') NOT NULL DEFAULT 'admin' AFTER password_hash; -- --------------------------------------------------------------------------- -- Wann war dieses Konto zuletzt aktiv? -- --------------------------------------------------------------------------- -- Ein Installationskonto wird selten benutzt. Ohne diese Angabe laesst sich -- nicht erkennen, ob ein angelegtes Konto noch gebraucht wird oder seit einem -- Jahr ungenutzt herumliegt. ALTER TABLE dc_users ADD COLUMN last_login_at DATETIME NULL AFTER role; -- Ein deaktiviertes Konto bleibt erhalten (die Protokolle verweisen darauf), -- kann sich aber nicht mehr anmelden. ALTER TABLE dc_users ADD COLUMN disabled TINYINT(1) NOT NULL DEFAULT 0 AFTER last_login_at; ALTER TABLE dc_users ADD KEY ix_users_role (role);