Befehl 'ResetPassword'
Setzt Kennwörter in der Datenbank zurück oder aktualisiert sie.
Dieser Befehl kann von folgenden Personen benutzt werden:
- Registrierte Benutzer und Administratoren, um ihre eigenen
Kennwörter zu aktualisieren.
- Registrierte Benutzer, die sich anmelden möchten, aber das
Kennwort vergessen haben, können mit diesem Befehl ihr Kennwort
zurücksetzen, ohne sich anzumelden.
Anschließend wird ein nach dem Zufallsprinzip
generiertes Kennwort per E-Mail an den Gastbenutzer
gesendet.
Verwenden Sie diesen Befehl zusammen mit dem
SSL-Protokoll (Secure Sockets Layer), um sicherzustellen, dass
das Anmeldekennwort des Kunden und die persönlichen Daten
verschlüsselt werden. Geben Sie hierzu den Befehl mit dem sicheren HTTPS-Protokoll ein.
Parameterwerte
- http://host_name/pfad/
- Der vollständig qualifizierte Name Ihres WebSphere Commerce Servers und der
Konfigurationspfad.
- langId
- Setzt die bevorzugte Sprache für die Dauer der Sitzung oder setzt die bevorzugte
Sprache zurück; die unterstützten Sprachen sind in der Tabelle
STORELANG enthalten.
- forUser
- Die Anmelde-ID des Benutzers in dessen Namen der Befehl ausgeführt wird;
nur eine Person einer Zugriffsgruppe (Sicherheitsaufgabenbereich)
eines Kundendienstmitarbeiters kann diesen Parameter angeben.
- forUserId
- Identisch mit 'forUser'; hier wird jedoch der Benutzer mit einer internen Benutzer-ID
identifiziert, wie in der Tabelle USERS angegeben.
- URL
-
Die URL-Adresse, die nach der erfolgreichen Ausführung des
Befehls aufgerufen werden soll.
- storeId
- Die Referenznummer eines Geschäfts.
- reLogonURL
- Die URL, an die der Befehl 'ResetPassword' im Fall einer Fehlerbedingung
umgeleitet wird.
- logonId
-
Die Anmelde-ID des Benutzers, dessen Kennwort zurückgesetzt
werden soll.
- challengeAnswer
-
Die Antwort auf die Bestätigungsfrage; sie wird zum
Bestätigen der Identität des Benutzers verwendet.
- logonPassword
- Das neue Kennwort des Benutzers.
- logonPasswordOld
-
Das aktuelle Kennwort des Benutzers.
- logonPasswordVerify
-
Das bestätigte Kennwort des Benutzers (muss mit dem Anmeldekennwort
'logonPassword' übereinstimmen).
Beispiel 1
Bei diesem Beispiel wird ein Kennwort durch Angeben der
Anmelde-ID (logonId) und der Bestätigungsantwort für registrierte Benutzer, die ihr Kennwort aktualisieren wollen, zurückgesetzt:
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonId=a&challengeAnswer=a
Wenn der Benutzer ein registrierter Kunde oder ein
Administrator ist, überprüft der Befehl, ob das alte Kennwort richtig
ist und das neue Kennwort mit dem Bestätigungskennwort übereinstimmt. Außerdem überprüft
er, ob das Kennwort die in der Kennwortrichtlinie des Benutzers festgelegten
Anforderungen erfüllt. Wenn alle Bedingungen erfüllt sind, aktualisiert er die Datenbank
mit dem neuen Kennwort.
Beispiel 2
Bei diesem Beispiel wird ein Kennwort durch Angeben des
alten und des neuen Kennworts für Benutzer, die ihre registriertes Benutzerkennwort vergessen haben, zurückgesetzt:
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
Wenn der Benutzer ein Gast ist, überprüft der
Befehl, ob die angegebene Antwort auf die Bestätigungsfrage mit dem Eintrag in
der Datenbank übereinstimmt. Ist eine Übereinstimmung vorhanden, generiert der Befehl
ein willkürliches Kennwort, aktualisiert die Datenbank und sendet das Kennwort
per e-Mail an den Kunden (durch den Wert des Parameters
logonId gekennzeichnet).
Verhalten
- Dieser Befehl ruft die folgenden Task-Befehle auf:
- Der Befehl überprüft die erforderlichen Parameter. Wenn die Parameter
fehlen oder ungültig sind, ruft der Befehl eine der Fehler-Tasks mit
den entsprechenden Fehlercodes auf.
- Wenn der Benutzer ein Gast ist, überprüft der
Befehl, ob die angegebene Antwort auf die Bestätigungsfrage mit dem Eintrag in
der Datenbank übereinstimmt. Ist eine Übereinstimmung vorhanden, generiert der Befehl
ein willkürliches Kennwort, aktualisiert die Datenbank und sendet das Kennwort
per e-Mail an den Kunden (durch den Wert des Parameters
logonId gekennzeichnet).
- Wenn der Benutzer ein registrierter Kunde oder ein
Administrator ist, überprüft der Befehl, ob das alte Kennwort richtig
ist und das neue Kennwort mit dem Bestätigungskennwort übereinstimmt. Außerdem überprüft
er, ob das Kennwort die in der Kennwortrichtlinie des Benutzers festgelegten
Anforderungen erfüllt. Wenn alle Bedingungen erfüllt sind, aktualisiert er die Datenbank
mit dem neuen Kennwort.
- Wenn der Befehl erfolgreich abgeschlossen wird, wird die angegebene
URL-Adresse aufgerufen.
- Benutzer, denen der Befehl 'Reset Password' ein generiertes Kennwort
zugewiesen hat, müssen ihr Kennwort nach der ersten Benutzung ändern.
- Der Befehl 'ResetPassword' erstellt ein temporäres Kennwort, dass beim ersten Anmelden geändert werden muss; beachten Sie jedoch, dass dies nur zutrifft, wenn Benutzer gegen die WebSphere Commerce-Datenbank authentifiziert werden.
Ausnahmebedingungen
Wenn Sie bei einer Fehlerbedingung eine Fehler-URL im Parameter 'reLogonURL' angeben, wird der Befehl an diese URL umgeleitet, und ein Fehlercode wird in die Anforderung gestellt. Wenn Sie den Parameter 'reLogonURL' nicht verwenden, gibt der Befehl eine Ausnahmebedingung 'ECApplicationException' aus und leitet je nach der Identität des Benutzers an eine Fehlersicht um. Sie können den Fehlercode durch Verwenden der Klasse ErrorDataBean erhalten.
Wenn ein erforderlicher Parameter fehlt oder falsch ist, setzt der Befehl 'ResetPassword' je
nach der Identität des Aufrufenden die folgenden Fehler-Codes. Diese Fehlercodes
werden zur angegebenen Fehler-URL hinzugefügt, wenn Sie den Parameter 'reLogonURL' verwenden:
Identitätsbasierte Fehlersicht:
- Registrierter Benutzer
- ResetPasswordRegisterErrorView
- Gastbenutzer
- ResetPasswordGuestErrorView
Fehlerbedingungen und zugeordnete Fehlercodes:
Befehlsanforderer |
Fehlerbedingung und zugeordneter Fehlercode |
Gastbenutzer oder ein angemeldeter Benutzer |
- Fehlender URL-Parameter.
- ECSecurityConstants.ERR_MISSING_REDIRECTURL
Hinweis: In diesem Fall leitet der Befehl an die Fehlersicht 'ResetPasswordView' um. |
Gastbenutzer |
- Die logonId fehlt.
- ECSecurityConstants.ERR_MISSING_LOGONID
- Die logonId gehört nicht zu einem gültigen registrierten Benutzer.
- ECSecurityConstants.ERR_INVALID_LOGONID
- Die Bestätigungsantwort war nicht angegeben.
- ECSecurityConstants.ERR_MISSING_CHALLENGEANSWER
- Die angegebene Bestätigungsantwort ist nicht korrekt.
- ECSecurityConstants.ERR_INVALID_CHALLENGEANSWER
- Die E-Mail-Adresse für die angegebene logonId fehlt.
- ECSecurityConstants.ERR_MISSING_EMAIL
- Das Benutzerkonto ist inaktiviert.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Angemeldeter Benutzer |
- Der Parameter 'logonPasswordOld' fehlt.
- ECSecurityConstants.ERR_MISSING_OLDPASSWORD
- Der Parameter 'logonPassword' fehlt.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORD
- Der Parameter 'logonPasswordVerify' fehlt.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORDVERIFY
- Die Parameter 'logonPassword' und 'logonPasswordVerify' stimmen nicht überein.
- ECSecurityConstants.ERR_MISMATCH_PASSWORDS
- Der angemeldete Benutzer hat ein falsches Kennwort
eingegeben.
- ECSecurityConstants.ERR_INVALID_OLDPASSWORD
- Das Kennwort ist zu lang oder zu kurz.
- ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD
- Die Anzahl der zulässigen aufeinander folgenden Zeichen dieses Typs übersteigt
den zulässigen Maximalwert.
- ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD
- Die Anzahl der zulässigen Exemplare von Zeichen dieses Typs übersteigt
den zulässigen Maximalwert.
- ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD
- Das Kennwort umfasst nicht die erforderliche Mindestanzahl von Buchstaben.
- ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD
- Das Kennwort umfasst nicht die erforderliche Mindestanzahl von Ziffern.
- ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD
- Das Kennwort darf nicht mit der Benutzer-ID übereinstimmen.
- ECSecurityConstants.ERR_USERIDMATCH_PASSWORD
- Das Kennwort darf nicht mit dem vorherigen Kennwort übereinstimmen.
- ECSecurityConstants.ERR_REUSEOLD_PASSWORD
- Das Benutzerkonto ist inaktiviert.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Das Fehlerbehandlungsprogramm ist ECConstants.EC_ERROR_CODE.
