Vereinfachung von Rollen & Rechten
UX
Die Schemata wurden von den Rollen getrennt (Administration vs. Konfiguration).
Die Pflege von Rollen ist beim Datensatz vereinfacht worden. Die Rollen sind nun nicht mehr Teil der Hauptspeicherfunktion in BASE.
Datensatz-Eigentümer lassen sich nun pflegen.
Benutzergruppen
Es ist nun möglich Rollen in einer Benutzergruppe zu sammeln
Die Benutzergruppe kann dann einem Anwender zugewiesen werden
Verbesserung des Token-Handling
Tokens wurden ausgegliedert und schonen nun besser die Performance
Sie lassen sich nun auch im Backend verwenden
Autorisationen
Autorisationen sind notwendig um Rechte an Rollen zu vergeben
Sie werden nun in PHP-Klassen verwaltet, sodass eventuelle Änderungen an der jeweiligen Ressource direkt sichtbar werden
Schemata ermöglichen die Administration sehr individueller Anforderungen
Vererbung
Rollen lassen sich mithilfe von Graphen, die als SQL-Views erstellt werden, vererben
Automatische Zuweisung
Rollen werden nur noch optional zugewiesen
Tokens werden immer und automatisch zugewiesen
Die automatische Zuweisung kann durch ein Event unterbrochen bzw. ergänzt werden
Anonyme Rollen werden nie automatisch zugewiesen
Performance
Deutliche Trennung der Aspekte (bspw. Tokens/Rollen für Anwender und Datensätze)
SQL Foreign keys werden genutzt. Dadurch benötigen wir keine Garbage Kollektoren mehr.
Anwender-Tokens werden nicht mehr automatisch gelöscht. Es werden nun nur noch Tokens von anonymen Anwender abgeräumt.
Weitere Funktionen
Event um Rollen zu ergänzen
Die Endpoints Cron und Install müssen nicht länger für Rechte konfiguriert werden
Die Steuerung der Rechte über Annotations wurde weitgehend entfernt (@security bleibt nur bei Ressourcen, um eine allgemeine Freigabe zu ermöglichen)