Login_ResetPassword モジュール

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の有効期限が切れていた場合などに発生するエラーです。