Sicherheit

Berechtigungen

Berechtigungen werden in der Tabelle capabilities definiert. Berechtigungsnamen bestehen aus einem Bereich und einer konkreten Aktion, getrennt durch einen Doppelpunkt.

Also: Bereich:Aktion

Beispiel:

user:addUser

Bei diesem Beispiel handelt es sich um eine Berechtigung im Bereich 'user'. Diese Berechtigung wird überprüft, wenn ein Benutzer angelegt werden soll. Fehlt die Berechtigung, wird eine Fehlermeldung angezeigt.

Berechtigungen aus der Tabelle capabilities werden in der Tabelle role_capabilities mit Rollen (role_id) verknüpft. Das Feld permission (1 == true, 0 == false) legt fest ob der Nutzer mit der entsprechenden Rolle die Aktion ausführen darf. Ist für eine Rolle kein Eintrag für die entsprechende Berechtigung vorhanden, ist permission == false.

Berechtigungen werden mit der php Funktion checkCapabilities() überprüft. Dabei können die folgenden Parameter gesetzt werden:

checkCapabilities(
$capability = null, // 'user:addUser'
$role_id = null, // in der Regel wird hier $USER->role_id eingetragen
$thow_exception = true, // soll Fehler geworfen werden. Standart ist 'true'. Wenn 'false' gesetzt ist, gibt checkCapabilities das Ergebnis der Überprüfung als boolean zurück.
$modal = false // wird die Funktion im Modal aufgerufen, muss 'true' gesetzt werden.
)