Ein Benutzer in BISO hat verschiedene "Rollen-Flags" auf dem Benutzer-Objekt definiert. Aufgrund dieser Flags werden bestimmte Funktionen ein/ausgeblendet.
Grundsätzlich gilt:
benutzer.benutzer_typ_id):benutzer.parameter)
definieren, was der Benutzer sieht / benützen darf.Die Infrastruktur stellt sowohl für PHP als auch für JavaScript eine Infrastruktur zum Prüfen dieser Sachverhalte bereit.
Die Klasse "AccessChecker" stellt folgende Funktionen zum Prüfen von Typ und Rollen bereit:
AccessChecker::userIsSysAdmin(Benutzer $user)
Liefert true, wenn der Benützer vom Typ DB-Admin (Super-Duper-Super-User) ist.
AccessChecker::userIsAdmin(Benutzer $user)
Liefert true, wenn der Benützer vom Typ DB-Admin ist ODER die Rollen
lbz_admin (Admin) oder ist_stellenuebergreifender_admin (stellenübergreifender Admin) ist.
AccessChecker::userHasRole(Benutzer $user, $role)
Liefert true, wenn das/die gelieferte(n) Rollen-Flag(s) gesetzt (true) sind
(Bsp: AccessChecker::userHasRole($user,'stammdaten') === true wenn benutzer.stammdaten angewählt ist.)
Ebenso gibt es für die JavaScript/Ext-Seite die entsprechenden Funktionen, definiert in der Ext-Klasse KP.tool.AccessCheck, Klassen-Alias Xs:
Xs.userIsSysAdmin() liefert true, wenn der eingeloggte User ein DB-Admin istXs.userIsAdmin() liefert true, wenn der eingeloggte User als lbz_admin oder ist_stellenuebergreifender_admin markiert istXs.userHasRole(role) liefert true, wenn der eingeloggte User eines der gegebenen Rollen-Flags auf true gesetzt hat