サンプル・ストア・ログイン・ページによって、登録済み顧客はログインすることができます。
登録済み顧客がサイド・バーのリンク「Register now and receive advance notice of promotions! (今すぐ登録して販売上の詳しい注意を入手しよう!)」をクリックすると、 「登録」または「ログイン」ページ (account.jsp) が表示されます。 次に顧客は自分の E メール・アドレスとパスワードを入力して、ログインをクリックします。 「アカウント」ページ (myaccount.jsp) が表示されます。 詳細については、ログオンの使用事例を参照してください。
サンプル・ストア・ログイン手順は、以下の JSP ファイルを使用します。
コマンド
account.jsp は、以下のコマンドを使用します。
myaccount.jsp は、以下のコマンドを使用します。
forgetpassword.jsp は、以下のコマンドを使用します。
ChangePasswordForm.jsp は、以下のコマンドを使用します。
forgetpassword_err.jsp は、以下のコマンドを使用します。
password.jsp は、以下のコマンドを使用します。
bean
forgetpassword.jsp は、以下の bean を使用します。
forgetpassword_err.jsp は、以下の bean を使用します。
インプリメンテーションの詳細情報
注: マルチカルチャー情報を含むすべてのサンプル・ストア・ページに共通なインプリメンテーション手法については、 サンプル・ストア・ページ: 共通のインプリメンテーション手法を参照してください。
顧客が登録ページで登録を行なったり、 ログイン・ページ (account.jsp) に E メール・アドレスとパスワードを入力したりした後は、 以下のコードによって値が小文字に変換されます。
function prepareSubmit (フォーム)
{
form.<%=ECUserConstants.EC_UREG_LOGONID%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
form.submit()
}
また、account.jsp は、Logon コマンドに必要なフィールドを設定します。たとえば、
<INPUT TYPE="hidden" NAME="URL" VALUE="LogonForm?page=account">
顧客が登録またはログオン・ページで「ログイン」をクリックした時には、Logon コマンドが呼び出されます。 Logon は、データベース中に LoginForm.jsp と一緒に登録済みです。 LoginForm.jsp は、page パラメーターを使用して、 どのページ (myaccount.jsp または account.jsp) をロードするかを判別します。
String state = request.getParameter("page");
.
.
.
if (state == null)
{
incfile = "/" + storeDir + "/myaccount.jsp";
}
else if (state.equals("account"))
{
incfile = "/" + storeDir + "/account.jsp";
}
正しい E メール・アドレスおよびパスワードの組み合わせが入力された場合には、LoginForm.jsp がアカウント・ページ (account.jsp) をロードします。
正しくない E メール・アドレスおよびパスワードの組み合わせが入力した場合には、LoginForm.jsp が登録またはログイン・ページ (account.jsp) を再ロードします。
顧客が自分のパスワードを忘れた場合は、パスワードをお忘れですか? をクリックします。 Logoff コマンドが state=forgetpassword パラメーターとともに呼び出されます。 Logoff コマンドは、データベース中に Logoff.jsp と一緒に登録済みです。 Logoff.jsp は、下の説明のように、パラメーターの状態を検査します。
if (state == null)
{
String [] arrstate = (String []) request.getAttribute("state");
if (arrstate != null)
state = arrstate[0];
}
if (state == null || state.length() == 0)
{
incfile = "/" + storeDir + "/UserRegistrationForm.jsp";
}
else if (state.equals("forgetpassword"))
{
incfile = "/" + storeDir + "/forgetpassword.jsp";
}
状態が forgetpassword と等しい場合には、 「パスワードを忘れました」ページ (forgetpassword.jsp) がロードされます。 顧客がページのフィールドを完了し、 「パスワードの送信」をクリックした時には、 ResetPassword コマンドが呼び出されます。 データベースで旧パスワードが 「有効期限切れ」に設定されると、顧客に新規パスワードが E メールで送信されます。 新規パスワードを使用して顧客がログインすると、パスワードの変更が要求され、 パスワード変更ページ (ChangePasswordForm.jsp) が表示されます。
注: 顧客のパスワードが有効納期切れに設定されると、 次回のログイン時に自動的に「パスワード変更」ページが表示されます。
エラー処理
顧客が正しくない E メール・アドレスまたはパスワードを指定した場合、
あるいはフィールドが未完了の場合には、エラー・メッセージが表示され、
Logon コマンドが page パラメーターの設定なしで登録またはログインを再ロードします。 誤ったパスワードを入力した場合、顧客はログインするまで 2、3 秒待機する必要があるか、以下のエラーが表示されます。
Please wait a few seconds before attempting to login again. (再ログインするまで 2、3 秒お待ちください。)
![]() |