« Zurück zu Produkt

Dokumentation

IPS_AddPermissionToRole

 bool IPS_AddPermissionToRole (string $Rolle, int $ObjektID, string $Operation, bool $Rekursiv) 

Parameterliste

Rolle

Name der Rolle

ObjektID

ID des Objekts, für das die Berechtigung gilt

Operation

Name der Operation, z.B. VISUALIZATION

Rekursiv

Gibt an, ob die Berechtigung auch für alle Objekte unterhalb von ObjektID gilt (TRUE) oder nur für das Objekt selbst (FALSE)

Rückgabewert

Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.

Beschreibung

Die Funktion fügt der Rolle Rolle die Berechtigung hinzu, die Operation auf dem Objekt ObjektID auszuführen. Alle Benutzer, denen die Rolle zugewiesen ist, erhalten damit diese Berechtigung.

Ist Rekursiv aktiviert, gilt die Berechtigung für das Objekt und alle darunterliegenden Objekte – eine rekursive Berechtigung auf das Wurzelobjekt (ID 0) gilt somit für alle Objekte. Eine Berechtigung wird durch ObjektID, Operation und Rekursiv gemeinsam bestimmt; dieselbe ObjektID und Operation kann also einmal rekursiv und einmal nicht rekursiv eingetragen werden.

Als Operation muss eine im System registrierte Operation angegeben werden, ansonsten schlägt die Funktion mit "Cannot verify unsupported operation" fehl. Die Groß-/Kleinschreibung ist dabei zu beachten. Aktuell gibt es die Operation VISUALIZATION (Zugriff auf eine Visualisierung mit all ihren Objekten). Sie wird registriert, sobald eine Visualisierungsinstanz (z.B. Kachel Visualisierung) existiert, und wird auf die ID der Visualisierungsinstanz geprüft.

Die Prüfungen erfolgen in dieser Reihenfolge: Operation, Rolle ("Role with name '…' does not exist"), Objekt ("Object #… does not exist"). Ist dieselbe Berechtigung bereits vorhanden, schlägt die Funktion mit "Role already has this permission" fehl.

Der ausführende Benutzer muss Administrator sein (siehe IPS_IsAdministrator), ansonsten schlägt die Funktion mit "Administrator permissions are required for this action!" fehl.

Warning

Die Rollenverwaltung steht nur mit einer Lizenz zur Verfügung, welche das RBAC-Feature enthält. Andernfalls schlägt die Funktion mit "This function is only available for licenses with the RBAC feature enabled!" fehl. Sind mehr Benutzer angelegt, als die Lizenz erlaubt, schlägt die Funktion mit "Your license is currently limited to … users. Please consider upgrading the license to more users!" fehl.

Beispiel

// Die Rolle darf die Visualisierung mit der ID 12345 öffnen
IPS_AddPermissionToRole('Bewohner', 12345, 'VISUALIZATION', false);
Haben Sie noch Fragen?