Dokumentation
IPS_CreateUser
bool IPS_CreateUser (string $Benutzername, int $Benutzertyp)
Parameterliste
| Benutzername | Name des neuen Benutzers (case-sensitiv) |
| Benutzertyp | Typ des Benutzers (0 ( |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion erstellt einen neuen Benutzer mit dem Namen Benutzername und dem Typ Benutzertyp.
| Benutzertyp | Konstante | Beschreibung |
|---|---|---|
| 0 | USER_TYPE_LOCAL |
Lokales Konto, Anmeldung mit dem über IPS_SetUserPassword gesetzten Passwort |
| 1 | USER_TYPE_LDAP |
LDAP, Anmeldung über den LDAP-Server mit dem über IPS_SetUserBindDN gesetzten BindDN |
Benutzer werden üblicherweise in der Berechtigungssteuerung verwaltet.
Ein neuer Benutzer ist deaktiviert, hat kein Passwort, keinen Vor- und Nachnamen, keine Rollen und keine Berechtigungen. Damit sich der Benutzer anmelden kann, muss er mit IPS_SetUserActive aktiviert werden und bei einem lokalen Konto mit IPS_SetUserPassword ein Passwort erhalten bzw. bei einem LDAP-Konto mit IPS_SetUserBindDN einen BindDN.
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. Der neue Benutzer wird auf das Benutzerlimit der Lizenz angerechnet (standardmäßig 10 Benutzer, der Benutzer @admin zählt nicht mit). Würde das Limit überschritten, schlägt die Funktion 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 Fehler:
- Ein leerer Name schlägt mit "User cannot be empty" fehl.
- Der Name "token" ist für die Anmeldung mit temporären Tokens reserviert und schlägt mit "User 'token' is reserved and cannot be used" fehl.
- Ein Name, der dem Lizenznehmer (E-Mail-Adresse der Lizenz) entspricht, schlägt mit "User cannot be equivalent to the licensee" fehl.
- Ein anderer Benutzertyp als 0 oder 1 schlägt mit "Unsupported User Type!" fehl.
- Existiert bereits ein Benutzer mit diesem Namen, schlägt die Funktion mit "User with name '…' already exists" fehl.
Siehe auch: IPS_DeleteUser, IPS_GetUser, IPS_AddRoleToUser
Beispiel
IPS_CreateUser('anna', USER_TYPE_LOCAL);
IPS_SetUserPassword('anna', 'geheim');
IPS_SetUserFirstName('anna', 'Anna');
IPS_SetUserLastName('anna', 'Muster');
IPS_SetUserActive('anna', true);