ResetPassword コマンド
データベース内のパスワードをリセットまたは更新します。
以下の人がこのコマンドを使用できます。
- 登録済みユーザーおよび管理者は、自分自身のパスワードを更新することができます。
- ログオンしたいが、自分のパスワードを忘れた登録済みユーザーは、このコマンドを使用して、ログインをしないで自身のパスワードをリセットすることができます。
その後、ランダムに生成されたパスワードをゲスト・ショッパーに E メール送信します。
このコマンドは、SSL (Secure Sockets Layer) を併せて使用し、顧客のログオン・パスワードと個人情報を確実に暗号化するようにしてださい。
これを行うには、HTTPS セキュア・プロトコルを使用してコマンドを入力します。
パラメーター値
- http://host_name/path/
- WebSphere Commerce サーバーおよび構成パスの完全修飾名
- langId
- セッション期間中の優先言語を設定またはリセットします。
ストアでサポートされている言語は、STORELANG テーブルにあります。
- forUser
- コマンドを実行するユーザーのログオン ID。このパラメーターを指定できるのは、技術員のユーザー・グループ (セキュリティー役割) がある個人だけです。
- forUserId
- forUser と同様ですが、ユーザーは USERS テーブル中にある内部ユーザー ID によって識別されます。
- URL
-
コマンドが正常に完了した時に呼び出される URL
- storeId
- ストアの参照番号
- reLogonURL
- エラー条件の場合に ResetPassword コマンドがリダイレクトされる URL
- logonId
-
パスワードがリセットされる、そのユーザーのログオン ID
- challengeAnswer
-
ユーザー確認のための質問に対する応答。ユーザー本人であることを確認するために使用されます。
- logonPassword
- ユーザーの新規パスワード
- logonPasswordOld
-
ユーザーの現行パスワード
- logonPasswordVerify
-
ユーザーの確認パスワードで、logonPassword と同一である必要があります。
例 1
この例は、パスワードを更新する登録済みユーザーのために、
logonId およびユーザー確認のための質問を提供してパスワードをリセットします。
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonId=a&challengeAnswer=a
ユーザーが登録済み顧客または管理者の場合は、旧パスワードが正しいかどうか、また新規パスワードが確認パスワードと一致するかどうかを検査します。
さらに、パスワードがユーザーのパスワード・ポリシーに定義された要件に適合するかどうかを検査します。
すべての条件を満たしている場合、新しいパスワードでデータベースを更新します。
例 2
この例は、自分の登録済みユーザー・パスワードを忘れた可能性のあるゲスト・ユーザーのために、
旧と新のパスワードを指定することによってパスワードをリセットします。
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
ユーザーがゲストの場合は、このコマンドは、
ユーザー確認のための質問に対して返された応答がデータベースにあるものと一致するかどうかを検査します。 一致した場合、任意のパスワードを生成し、データベースを更新して、(logonId パラメーターの値によって識別された) 顧客にそのパスワードを E メールで送信します。
動作
- このコマンドは、以下のタスク・コマンドを呼び出します。
- このコマンドは、必須パラメーターを検査します。 パラメーターが欠落しているか、または無効である場合、
該当するエラー・コードでいずれかのエラー・タスクを設定します。
- ユーザーがゲストの場合は、ユーザー確認のための質問に対して返された応答がデータベースにあるものと一致するかどうかを検査します。 一致した場合、任意のパスワードを生成し、データベースを更新して、(logonId パラメーターの値によって識別された) 顧客にそのパスワードを E メールで送信します。
- ユーザーが登録済み顧客または管理者の場合は、旧パスワードが正しいかどうか、また新規パスワードが確認パスワードと一致するかどうかを検査します。
さらに、パスワードがユーザーのパスワード・ポリシーに定義された要件に適合するかどうかを検査します。
すべての条件を満たしている場合、新しいパスワードでデータベースを更新します。
- コマンドが正常に終了すると、指定された URL が呼び出されます。
- パスワードのリセット・コマンドによって生成されたパスワードを提供されたユーザーは、
最初にそれを使用した後で変更する必要が生じます。
- パスワードのリセット・コマンドによって一時パスワードが作成されますが、
これは最初のログオン時に変更する必要があります。
ただし、このことはユーザーが WebSphere Commerce データベースに対して認証される場合にのみ適用されます。
例外条件
エラー条件の場合には、reLogonURL パラメーターにエラー URL を指定していれば、
ResetPassword コマンドはその URL にリダイレクトされ、要求に対してエラー・コードが発行されます。 それ以外の場合で、reLogonURL パラメーターを使用しない場合には、コマンドは、
ECApplicationException を発行し、ユーザーの識別に応じたエラー・ビューにリダイレクトされます。 クラス ErrorDataBean を使用すると、
エラー・コードを入手できます。
必須パラメーターが欠落しているか正しくない場合は、ResetPassword コマンドは、
要求者を識別し、それに応じて以下のいずれかのエラー・コードを設定します。
これらのエラー・コードは、reLogonURL パラメーターを使用すると、指定したエラー URL へ追加されます。
識別に基づくエラー・ビュー:
- 登録済みユーザー
- パスワード・リセット登録エラー・ビュー
- ゲスト・ユーザー
- ゲスト・パスワード・リセット・エラー・ビュー
エラー条件および関連したエラー・コード:
コマンド要求発行者 |
エラー条件および関連したエラー・コード |
ゲストまたはログイン・ユーザー |
- URL パラメーターが欠落しています。
- ECSecurityConstants.ERR_MISSING_REDIRECTURL
注: この場合、コマンドは ResetPasswordView エラー・ビューにリダイレクトします。 |
ゲスト |
- logonId が欠落しています。
- ECSecurityConstants.ERR_MISSING_LOGONID
- logonId は有効な登録済みユーザーに属していません。
- ECSecurityConstants.ERR_INVALID_LOGONID
- ユーザー確認のための質問への答えがありません。
- ECSecurityConstants.ERR_MISSING_CHALLENGEANSWER
- 提供されたユーザー確認のための質問への答えが正しくありません。
- ECSecurityConstants.ERR_INVALID_CHALLENGEANSWER
- 提供された logonId の E メール・アドレスがありません。
- ECSecurityConstants.ERR_MISSING_EMAIL
- ユーザー・アカウントを使用できません。
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
ログイン・ユーザー |
- logonPasswordOld パラメーターが欠落しています。
- ECSecurityConstants.ERR_MISSING_OLDPASSWORD
- logonPassword パラメーターが欠落しています。
- ECSecurityConstants.ERR_MISSING_NEWPASSWORD
- logonPasswordVerify パラメーターが欠落しています。
- ECSecurityConstants.ERR_MISSING_NEWPASSWORDVERIFY
- logonPassword および logonPasswordVerify パラメーターが一致していません。
- ECSecurityConstants.ERR_MISMATCH_PASSWORDS
- ログイン・ユーザーが間違った旧パスワードを提供しました。
- ECSecurityConstants.ERR_INVALID_OLDPASSWORD
- パスワードの長さが短すぎます。
- ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD
- このタイプに許可される連続文字数が、許可される最大数よりも大きくなっています。
- ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD
- このタイプに許可される文字のインスタンス数が、許可される最大数よりも大きくなっています。
- ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD
- パスワードに含まれる文字数が、必要な最小数に達していません。
- ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD
- パスワードに含まれる桁数が、必要な最小数に達していません。
- ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD
- パスワードとユーザー ID とが一致しません。
- ECSecurityConstants.ERR_USERIDMATCH_PASSWORD
- パスワードを前のパスワードと同じにすることはできません。
- ECSecurityConstants.ERR_REUSEOLD_PASSWORD
- ユーザー・アカウントを使用できません。
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
エラー・ハンドラーは ECConstants.EC_ERROR_CODE です。
