Dokumentation
IPS_AddRoleToUser
bool IPS_AddRoleToUser (string $Benutzername, string $Rollenname)
Parameterliste
| Benutzername | Name des Benutzers (case-sensitiv) |
| Rollenname | Name der zuzuweisenden Rolle (case-sensitiv) |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion weist dem Benutzer Benutzername die Rolle Rollenname zu. Der Benutzer erhält damit alle Berechtigungen der Rolle. Wird die Rolle @admin zugewiesen, wird der Benutzer zum Administrator. Rollen werden mit IPS_CreateRole erstellt.
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 die Rolle nicht, schlägt die Funktion mit "Role with name '…' does not exist" fehl; existiert der Benutzer nicht, mit "User with name '…' does not exist". Ist die Rolle bereits zugewiesen, schlägt sie mit "User with name '…' already has Role '…' attached" fehl. Da der Benutzer @admin implizit alle Rollen besitzt, schlägt die Funktion für ihn ebenfalls mit dieser Meldung fehl.
Siehe auch: IPS_RemoveRoleFromUser, IPS_UserHasRole
Beispiel
IPS_CreateRole('visu');
IPS_AddRoleToUser('anna', 'visu');