Dokumentation
IPS_RemovePermissionFromUser
bool IPS_RemovePermissionFromUser (string $Benutzername, int $ObjektID, string $Operation, bool $Rekursiv)
Parameterliste
| Benutzername | Name des Benutzers (case-sensitiv) |
| ObjektID | ID des Objekts, für das die Berechtigung gilt |
| Operation | Name der registrierten Operation, z.B. VISUALIZATION |
| Rekursiv | Muss dem Wert entsprechen, mit dem die Berechtigung hinzugefügt wurde |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion entfernt die Berechtigung für die Operation auf dem Objekt ObjektID vom Benutzer Benutzername. Die Kombination aus ObjektID, Operation und Rekursiv muss exakt einer direkt dem Benutzer zugewiesenen Berechtigung entsprechen (siehe Permissions in IPS_GetUser). Berechtigungen, die der Benutzer über Rollen erhält, bleiben unberührt.
Diese Funktion steht nur mit Lizenzen zur Verfügung, die das RBAC-Feature (Berechtigungssteuerung) enthalten. Andernfalls schlägt sie mit "This function is only available for licenses with the RBAC feature enabled!" fehl. Sind mehr Benutzer vorhanden als die Lizenz erlaubt (standardmäßig 10 Benutzer, der Benutzer @admin zählt nicht mit), schlägt sie mit "Your license is currently limited to 10 users. Please consider upgrading the license to more users!" fehl (die Zahl entspricht dem Limit der Lizenz).
Der aktuell angemeldete Benutzer (siehe IPS_GetLoggedInUser) muss Administrator sein, also der Benutzer @admin oder ein Benutzer mit der Rolle @admin. Andernfalls schlägt die Funktion mit "Administrator permissions are required for this action!" fehl.
Weitere Prüfungen in dieser Reihenfolge: Ist die Operation nicht registriert, schlägt die Funktion mit "Cannot verify unsupported operation" fehl. Existiert der Benutzer nicht, schlägt die Funktion mit "User with name '…' does not exist" fehl. Der Benutzer @admin kann nicht verändert werden, der Versuch schlägt mit "User @admin cannot be modified!" fehl. Existiert das Objekt nicht, schlägt sie mit "Object #… does not exist" fehl. Besitzt der Benutzer die Berechtigung nicht, schlägt sie mit "User does not have this permission" fehl.
Siehe auch: IPS_AddPermissionToUser, IPS_RemovePermissionFromRole
Beispiel
$VisuID = 12345; // ID einer Kachel Visualisierung
IPS_RemovePermissionFromUser('anna', $VisuID, 'VISUALIZATION', false);