Dokumentation
IPS_RoleHasPermission
bool IPS_RoleHasPermission (string $Rolle, int $ObjektID, string $Operation)
Parameterliste
| Rolle | Name der Rolle |
| ObjektID | ID des zu prüfenden Objekts |
| Operation | Name der Operation, z.B. VISUALIZATION |
Rückgabewert
Hat die Rolle die Berechtigung, wird TRUE zurückgemeldet, andernfalls FALSE.
Beschreibung
Die Funktion prüft, ob die Rolle Rolle die Operation auf dem Objekt ObjektID ausführen darf. Das ist der Fall, wenn die Rolle eine Berechtigung mit dieser Operation direkt für ObjektID besitzt oder eine rekursive Berechtigung für ObjektID oder eines der übergeordneten Objekte (bis hin zum Wurzelobjekt mit der ID 0). Die Rolle @admin hat immer alle Berechtigungen.
Es werden nur die Berechtigungen der Rolle berücksichtigt. Ob ein Benutzer – über seine eigenen Berechtigungen oder eine seiner Rollen – berechtigt ist, prüft IPS_UserHasPermission.
Die Prüfungen erfolgen in dieser Reihenfolge: Operation ("Cannot verify unsupported operation"), Objekt ("Object #… does not exist"), Rolle ("Role with name '…' does not exist"). Die Operation muss im System registriert sein; aktuell gibt es die Operation VISUALIZATION, sobald eine Visualisierungsinstanz existiert. Die Funktion setzt weder Administratorrechte noch das RBAC-Feature der Lizenz voraus.
Beispiel
if (IPS_RoleHasPermission('Bewohner', 12345, 'VISUALIZATION')) {
echo 'Die Rolle darf die Visualisierung öffnen';
}