Inhaltsberechtigungen – Systembeschreibung
Die Tabelle der Inhaltsregeln, der Objektkatalog, der Vorrang von Benutzer- vor Gruppenregeln, die Endpunkte und der Zugriff nur für den Super-Administrator.
Überblick
Inhaltsberechtigung (Ebene 3): WER (Benutzer oder Gruppe) WAS (Objekttyp + Schlüssel) für WELCHE Werte sehen darf. Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation; die Tabelle ist permission_scope (effect = 'allow'). Objektstämme werden zur Auflösung der Bezeichnungen gelesen.
Objektkatalog (catalog())
| Bereich | Objekttyp (Schlüssel) |
|---|---|
| global | company (company_id), user (user_id – Erfasser), subscription_usage (user_id – wessen Verbrauch sichtbar ist) |
| Rechnung | invoice_customer (customer_id), invoice_supplier (supplier_id), invoice_type (invoicetype_id) |
| Ereignis | topic, event |
| Statistikamt | ksh_settlement, ksh_dataset (geo) |
| Speicher | storage_account, storage_create (account_id) |
Endpunkte
scope.list (eine Zeile je Subjekt), scope.form, scope.objectsearch, scope.valuelist, scope.valueadd, scope.valueremove, scope.valuebatch, scope.delete (alle Regeln des Subjekts). Werte lassen sich mit Live-Suche einzeln oder gesammelt hinzufügen und entfernen.
Auswertung
getAllowedScopeValues($object_type, $scope_key): Super → unbeschränkt; hat der Benutzer eine eigene Regel, nur diese; sonst die der Gruppe; gibt es keine → unbeschränkt. Nur Erlaubniswerte. getAllowedScopeTexts() entsprechend für Textwerte (Benutzer und Gruppe gemeinsam).
Berechtigungen
- Jeder Endpunkt verlangt
isSuper(); im Seed istlistUNMAPPED,add,edit,deletesindSYSTEM. - Die Schaltfläche „Add“ folgt
canAction(add); der SchalterdebugfolgtcanAction(debug), der Controller übergibt das Listen-SQL aber bedingungslos an die Vorlage.