UserPassword
Dieser Befehl ändert das eigene Kennwort (alpha1 = leer oder der eigene Benutzername) oder das Kennwort eines anderen Benutzers.
Es können folgende Optionen (int4) übergeben werden:
_PwdModify: Das Passwort wird verändert_PwdVerify: Das Passwort wird überprüft
Aus Sicherheitsgründen verzögert sich die Passwortüberprüfung, wenn das Passwort eines Benutzers mehr als drei Mal mit einem falschen Passwort überprüft wird.
Die Optionen können kombiniert werden, so dass das alte Passwort überprüft wird, bevor es gesetzt wird.
Ist der Parameter Optionen (int4) nicht angegeben, muss beim Ändern des eigenen Kennworts das alte Kennwort angegeben werden. Wird das Kennwort eines anderen Benutzers geändert, muss das alte Kennwort nicht angegeben werden, stattdessen müssen aber die entsprechenden Änderungsrechte für den angegebenen Benutzer vorhanden sein.
Wird in den Optionen 0 oder NULL, dann macht der Befehl nichts.
Beispiele:
// Passwort des eigenen Benutzers mit vorheriger Prüfung ändern
UserPassword('', tOldPass, tNewPass);
// Passwort des eigenen Benutzers ohne vorheriger Prüfung ändern
UserPassword('', '', tNewPass, _PwdModify);
// Passwort eines anderen Benutzers mit vorheriger Prüfung ändern
UserPassword('USER', tOldPass, tNewPass, _PwdModify | _PwdVerify);
// Passwort eines anderen Benutzers ohne vorheriger Prüfung ändern
UserPassword('USER', '', tNewPass);
// Passwort eines Benutzers verifizieren (z. B. Authentifizierung)
if (UserPassword(tUser, tPass, '', _PwdVerify) = _ErrOK)
{
// Passwort ist korrekt
...
}
// Passwort eines beliebigen Benutzers ohne vorheriger Prüfung ändern
UserPassword(tUser, tOldPass, tNewPass, _PwdModify);
// Befehl prüft und ändert nichts!
UserPassword(tUser, tOldPass, tNewPass, 0);
Das Passwort eines Benutzers kann auch mittels ``UrmPropSet() mit der Option _UrmPropPassword gesetzt werden.
Mögliche Laufzeitfehler:
_ErrStringOverflow: Benutzername (alpha1), altes Benutzerkennwort (alpha2) oder neues Benutzerkennwort (alpha3) zu lang (max. 20 Zeichen zulässig)