Dokumentation
IPS_RemoveRoleFromUser
bool IPS_RemoveRoleFromUser (string $Benutzername, string $Rollenname)
Parameterliste
| Benutzername | Name des Benutzers (case-sensitiv) |
| Rollenname | Name der zu entfernenden Rolle (case-sensitiv) |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion entfernt die Rolle Rollenname vom Benutzer Benutzername. Die Berechtigungen der Rolle gelten danach nicht mehr für den Benutzer, die Rolle selbst bleibt erhalten.
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.
Existiert der Benutzer nicht, schlägt die Funktion mit "User with name '…' does not exist" fehl. Ist die Rolle dem Benutzer nicht zugewiesen, schlägt sie mit "User with name '…' does not have Role '…' attached" fehl. Der Benutzer @admin kann nicht verändert werden, der Versuch schlägt mit "User @admin cannot be modified!" fehl.
Siehe auch: IPS_AddRoleToUser, IPS_DeleteRole
Beispiel
if (IPS_UserHasRole('anna', 'visu')) {
IPS_RemoveRoleFromUser('anna', 'visu');
}