Zum Inhalt

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

Benutzer --> Rolle --> Operationen --> API-Endpunkte / UI-Elemente

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:

<template>
  <button v-if="can('inventory_edit')">
    Neues Geraet
  </button>
</template>

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.