Operationen¶
RBAC-Berechtigungen und Operationen in calServer V2.
Uebersicht¶
calServer V2 verwendet ein rollenbasiertes Zugriffskontrollsystem (RBAC) mit rund 130 Operationen, die in ca. 27 Gruppen organisiert sind. Jede Operation steuert den Zugriff auf einen bestimmten API-Endpunkt oder ein UI-Element.
Konzept¶
Berechtigungskonzept
Benutzer erhalten Rollen, die wiederum Operationen enthalten. Operationen steuern, welche Aktionen ein Benutzer ausfuehren darf.
Namenskonvention¶
Operationen folgen dem Muster {modul}_view / {modul}_edit / {modul}_delete.
edit deckt Anlegen und Bearbeiten ab – ein separates create gibt es nicht.
view = lesen, delete = loeschen.
Referenzkataloge sind lesbar
Nachschlage-/Referenzdaten (Kategorien, Status, Pruefnormen, Zusatzfelder
sowie Rollen-, Gruppen- und Operationslisten) sind fuer jeden Nutzer mit
using_API lesbar, weil sie Auswahllisten in vielen Masken fuellen. Nur
das Anlegen/Bearbeiten/Loeschen ist ueber eine eigene Operation geschuetzt.
Operationsgruppen (Auszug)¶
Inventar¶
| Operation | Beschreibung |
|---|---|
inventory_view |
Geraete anzeigen |
inventory_edit |
Geraete anlegen/bearbeiten |
inventory_delete |
Geraete loeschen |
Kalibrierung¶
| Operation | Beschreibung |
|---|---|
calibration_view |
Kalibrierungen anzeigen |
calibration_edit |
Kalibrierungen anlegen/bearbeiten |
calibration_delete |
Kalibrierungen loeschen |
Reparatur & Kontakte¶
| Operation | Beschreibung |
|---|---|
repair_view / repair_edit / repair_delete |
Reparaturen anzeigen/bearbeiten/loeschen |
contact_view / contact_edit / contact_delete |
Ansprechpartner anzeigen/bearbeiten/loeschen |
Kataloge (Lesen offen, Pflege geschuetzt)¶
| Operation | Beschreibung |
|---|---|
category_edit / category_delete |
Kategorien pflegen/loeschen |
test_standard_edit / test_standard_delete |
Pruefnormen pflegen/loeschen |
additional_field_edit / additional_field_delete |
Zusatzfelder pflegen/loeschen |
status_view / status_edit / status_delete |
Status-Konfiguration ansehen/pflegen/loeschen |
Dokumentenmanagement (DMS)¶
| Operation | Beschreibung |
|---|---|
dms_view |
Dokumente anzeigen |
dms_edit |
Dokumente hochladen/bearbeiten |
dms_delete |
Dokumente loeschen |
document_download |
Dokumente herunterladen |
signature_write |
Dokumente unterschreiben |
file_administrator_options |
Dokumente freigeben/verwalten |
Benutzer, Rollen & Gruppen¶
| Operation | Beschreibung |
|---|---|
user_management_view |
Benutzer anzeigen |
user_management_edit |
Benutzer anlegen/bearbeiten |
user_management_delete |
Benutzer loeschen |
role_edit / role_delete |
Rollen und Rollengruppen verwalten/loeschen |
group_edit / group_delete |
Benutzergruppen verwalten/loeschen |
E-Mail & Berichte¶
| Operation | Beschreibung |
|---|---|
email_management_view / email_management_edit / email_management_delete |
E-Mail-Konfiguration anzeigen/bearbeiten/loeschen |
report_management_admin |
Berichtswesen verwalten |
Administration¶
| Operation | Beschreibung |
|---|---|
basic_setting_admin |
Grundeinstellungen verwalten |
administration_management |
Zentrale Administration (Cronjobs, Updates, Cache) |
database_management_admin |
Datenbankverwaltung/Backups |
data_migration_admin |
Datenmigration aus calServer V1 oder MET/TRACK nach V2 |
language_management |
Sprachen und Uebersetzungen verwalten |
Vollstaendige Liste
Die massgebliche Liste aller Operationen liegt im Code in
app/Console/Commands/AppSetup.php (RBAC_OPERATIONS) mit Labels in
app/Support/OperationCatalog.php und ist im Rollen-Editor unter
Admin > Benutzer > Operationen vollstaendig sichtbar.
Zuordnung zu API-Endpunkten¶
Jede Operation wird ueber eine Middleware auf API-Ebene geprueft:
Route::middleware('api.auth:inventory_view')->group(function (): void {
Route::get('/inventories', [InventoryController::class, 'index']);
});
Mehrere Operationen (UND-Verknuepfung) sind moeglich:
api.auth:inventory_edit fuer Schreibrouten, api.auth:inventory_delete fuer
Loeschrouten. using_API ist bei jedem authentifizierten Zugriff Pflicht.
Zuordnung zu UI-Elementen¶
Im Nuxt-4-Frontend werden Operationen ueber eine Berechtigungspruefung geprueft:
Frontend- und Backend-Pruefung
Die Berechtigungspruefung erfolgt sowohl im Frontend (UI-Sichtbarkeit) als auch im Backend (API-Zugriff). Beide Pruefungen sind notwendig fuer ein sicheres System.
Operationen verwalten¶
Operationen werden ueber Admin > Benutzer > Operationen angezeigt. Neue
Operationen werden bei der Entwicklung neuer Features in
AppSetup::RBAC_OPERATIONS + OperationCatalog angelegt und per
php artisan app:setup in bestehende Installationen eingespielt.