Login_ResetPassword モジュール【~ Ver. 3.0】
この機能は Ver. 3.1 で廃止されました。新しい会員機能についてのドキュメントは以下をご覧ください。
ログイン・会員機能の基本
Login_ResetPassword モジュールとは、ユーザーのパスワード変更を行うための POST モジュールです。
ユーザーのパスワードをユーザー自身が指定したパスワードに変更できます。パスワード変更が成功すると自動的にログインし、現在のブログのトップページにリダイレクトされます。
ユーザーがログインパスワードを忘れてログインできない場合に、パスワードの再設定を行い、ログインできるようにするために利用できます。
また、Login_ResetPassword モジュールは Login_Remind モジュールで発行されたパスワード変更のURLから実行する必要がありますのでご注意ください。
2段階認証が有効な場合は、パスワード変更が成功した場合でもリダイレクトせず、そのままログイン画面に遷移します。
有効なフィールド(項目)
Login_ResetPassword モジュールで有効なフィールド(項目)について説明します。以下のフィールド(項目)が送信できます。
また、Login_ResetPassword モジュールで送信するフィールド(項目)は name 属性に user[] を、 value 属性に 送信したいフィールド(項目)名を指定した input タグを一緒に記述する必要があります。
<input type="password" name="pass" value="{pass}" class="acms-admin-form-large validator-result-{pass:validator#required} validator-result-{pass:validator#password}" autocomplete="off" />
<input type="hidden" name="user[]" value="pass" />| フィールド名(項目) | 概要 | 入力例 |
|---|---|---|
| pass(必須) | 新しく設定したいパスワード | password |
| retype_pass(必須) | 新しく設定したいパスワード(確認用) | password |
Login_ResetPassword モジュールのサンプルコード
<!-- BEGIN_MODULE Login -->
<form action="" method="post" enctype="multipart/form-data">
<!-- BEGIN reset -->
<div class="acms-admin-loginBox">
<div class="acms-admin-siteImageText">パスワード変更</div>
<!-- BEGIN_IF [{pass:validator#required}/eq/0] -->
<p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">パスワードが入力されていません。</p>
<!-- END_IF -->
<!-- BEGIN_IF [{pass:validator#password}/eq/0] -->
<p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">不正なパスワードです。別のパスワードを入力ください。</p>
<!-- END_IF -->
<!-- BEGIN_IF [{retype_pass:validator#equalTo}/eq/0] -->
<p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">パスワードが一致しません。</p>
<!-- END_IF -->
<!-- BEGIN_IF [{reset:validator#isOperable}/eq/0] -->
<p class="validator-result-0 acms-admin-alert acms-admin-alert-danger">不正な操作です。</p>
<!-- END_IF -->
<div class="acms-admin-form">
<label class="acms-admin-form-block acms-admin-clear">新しいパスワード</label>
<div class="js-password_strength">
<input type="password" name="pass" value="{pass}" class="js-input acms-admin-form-large validator-result-{pass:validator#required} validator-result-{pass:validator#password}" autocomplete="off" />
<input type="hidden" name="user[]" value="pass" />
<div>
<div class="js-meter acms-admin-password-strength-meter acms-admin-form-width-full"></div>
</div>
<span class="js-label acms-admin-password-strength-label" aria-live="assertive"></span>
</div>
<label class="acms-admin-form-block acms-admin-clear">新しいパスワードを確認</label>
<input type="password" name="retype_pass" value="{retype_pass}" class="acms-admin-form-large validator-result-{retype_pass:validator#equalTo}" autocomplete="off" />
<input type="hidden" name="user[]" value="retype_pass" />
<input type="hidden" name="retype_pass:validator#equalTo" value="pass" id="validator-retype_pass-equalTo" />
<!-- BEGIN passwordPolicyMessage:veil -->
<p class="acms-admin-text-danger">{passwordPolicyMessage}</p>
<!-- END passwordPolicyMessage:veil -->
</div>
<p class="loginAction">
<button type="submit" class="acms-admin-btn-admin" name="ACMS_POST_Login_ResetPassword">パスワードを変更</button>
</p>
</div>
<!-- END reset -->
</form>
<!-- END_MODULE Login -->エラー時の表示
Login_ResetPassword モジュールで何らかのエラーが起きた場合には以下のフィールド(項目)がバリデーションエラーとして表示されます。
| フィールド(項目)名 | オプション名 | 概要 |
|---|---|---|
| pass | required | パスワードが入力されていない場合に発生するエラーです。 |
| pass | password | コンフィグ > ログイン設定 > パスワードポリシーで設定したルールに違反している場合に発生するエラーです。 |
| retype_pass | equalTo | 入力されたパスワードが retype_pass のフィールド(項目)で入力したパスワードと一致していない場合に発生するエラーです。 |
| reset | isOperable | Login_Remind モジュールで発行されたパスワード変更のURLでないURLや、パスワード変更のURLの有効期限が切れていた場合などに発生するエラーです。 |