« Zurück zu Produkt

Dokumentation

IPS_SetUserPassword

 bool IPS_SetUserPassword (string $Benutzername, string $Passwort) 

Parameterliste

Benutzername

Name des Benutzers (case-sensitiv)

Passwort

Neues Passwort des Benutzers

Rückgabewert

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

Beschreibung

Die Funktion setzt das Passwort des Benutzers Benutzername. Das Passwort wird nicht im Klartext, sondern ausschließlich als gesalzener Hash (PBKDF2-HMAC-SHA256) gespeichert und kann daher nicht wieder ausgelesen werden.

Das Passwort wird nur für lokale Konten (Benutzertyp 0, USER_TYPE_LOCAL) verwendet. Solange für ein lokales Konto kein Passwort gesetzt wurde, ist keine Anmeldung möglich. LDAP-Benutzer (Benutzertyp 1, USER_TYPE_LDAP) melden sich stattdessen über den LDAP-Server mit ihrem BindDN an (siehe IPS_SetUserBindDN), das hier gesetzte Passwort wird für sie nicht ausgewertet.

Warning

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. Der Benutzer @admin kann nicht verändert werden, der Versuch schlägt mit "User @admin cannot be modified!" fehl.

Beispiel

IPS_SetUserPassword('anna', 'geheim');
Haben Sie noch Fragen?