この機能は Ver. 3.1 で廃止されました。新しい会員機能についてのドキュメントは以下をご覧ください。
ログイン・会員機能の基本
a-blog cms では、会員制サイトを作成するための読者登録機能が標準機能として搭載されています。また、SNSログインや2段階認証など、メールアドレス/ユーザーIDとパスワード以外でのログイン認証についても標準機能としてサポートされている他、パスワードポリシー設定などのセキュリティに関する設定も標準機能として提供されています。
主な機能としては以下のようなものがあげられます。
- メールアドレスとパスワードによるログイン認証
- SNSアカウントによるログイン認証
- 2段階認証
- ユーザー登録の外部申請(サイト閲覧者がアカウント登録をすることができる機能)
- メールアドレスの有効性チェック
- パスワード変更機能
- パスワードポリシー(パスワードのルール)の設定
Login モジュール
a-blog cms では、ログイン認証や、読者登録機能ついては、Login モジュールとして提供しております。ログイン認証や、パスワード変更、外部申請によるユーザー登録などは POST 操作になりますので、POSTモジュールとして提供されています。Login モジュールはログイン認証や、パスワード変更、外部申請によるユーザー登録などでPOSTモジュールを実行した結果を表示するためのモジュールになります。
Login モジュールで利用できるブロック
<!-- BEGIN_MODULE Login -->
<section>
<form action="" method="post" class="h-adr js-validator">
<!-- BEGIN auth -->
<!-- ログイン -->
<!-- END auth -->
<!-- BEGIN reset -->
<!-- パスワード変更 -->
<!-- END reset -->
<!-- BEGIN subscribe -->
<!-- 新規ユーザー登録 -->
<!-- END subscribe -->
<!-- BEGIN remind -->
<!-- パスワード変更メールの送信 -->
<!-- END remind -->
<!-- BEGIN tfa -->
<!-- 2段階認証 -->
<!-- END tfa -->
<!-- BEGIN recovery -->
<!-- 2段階認証の無効化 -->
<!-- END recovery -->
</form>
</section>
<!-- END_MODULE Login -->
以下のブロックは、上記のブロックの中で使用することができるブロックです。
<!-- BEGIN_MODULE Login -->
<section>
<form action="" method="post" class="h-adr js-validator">
<!-- BEGIN subscribe -->
<!-- BEGIN sendMsg#before -->
<p>登録いただくと指定されたメールアドレスに確認メールが送信されます。メールの内容に従って登録を完了してください。</p>
<!-- END sendMsg#before -->
<!-- BEGIN sendMsg#after -->
<p class="acms-alert acms-alert-info alert">入力されたメールアドレス宛に、確認用メールを送信しました。</p>
<!-- END sendMsg#after -->
<!-- BEGIN submit -->
<button type="submit" class="btn" name="ACMS_POST_Login_Subscribe">会員登録</button>
<!-- END submit -->
<!-- END subscribe -->
</form>
</section>
<!-- END_MODULE Login -->
Login モジュールで利用できる変数
また、Form モジュール と同じく送信した値は変数として表示できます。また、バリデーターやコンバーターも Form モジュールと同じ形式で利用できます。
注意点として、Login 系の POST モジュールでは、プログラム側で強制的にバリデーションを設定しているため、テンプレートにバリデーターを設定していなくても、バリデータのエラーが表示されます。
例えば、Login_Auth モジュールでは、コンフィグ > ログイン設定 > アカウントロックで設定した、パスワード認証の再試行制限に引っかかった場合、mail
というフィールドの lock
というオプションでエラーが表示されます。
<p class="validator-result-{mail:validator#lock} acms-admin-alert acms-admin-alert-danger">{trialNumber}回ログインに失敗したため、アカウントがロックされました。{lockTime}分後にもう一度試してください。</p>
POSTモジュールで設定しているバリデーターはモジュールごとに異なるため、各種POSTモジュールのページを参照してください。
メールアドレス認証URLからアクセスした場合に利用できるブロック
コンフィグ > ログイン設定 > 読者登録機能で、メールアドレスの有効性確認が行われる設定になっている場合、Login_Subscribe モジュールでユーザー登録を行った場合、自動返信メールに記載されているメールアドレスの有効性認証のためのURLにアクセスして初めてユーザーがログインできるようになります。
Login モジュールでは、メールアドレスの有効性認証のためのURLからアクセスした場合に、ユーザーのメールアドレス認証が成功したかどうかの結果を表示するために以下のブロックが使用できるようになります。
<!-- BEGIN subscribe.enableAccount -->
<p class="acms-admin-alert acms-admin-alert-info">アカウントを有効化しました。メールアドレスとパスワードを入力してログインください。</p>
<!-- END subscribe.enableAccount -->
<!-- BEGIN subscribe.badRequest -->
<p class="acms-admin-alert acms-admin-alert-danger">不正なアクセスです。</p>
<!-- END subscribe.badRequest -->
<!-- BEGIN subscribe.expired -->
<p class="acms-admin-alert acms-admin-alert-danger">有効期限切れのURLです。再度申請ください。</p>
<!-- END subscribe.expired -->
<!-- BEGIN subscribe.notFound -->
<p class="acms-admin-alert acms-admin-alert-danger">すでに有効済みか無効なURLです。</p>
<!-- END subscribe.notFound -->
パスワード変更URLからアクセスした場合に利用できるブロック
Login_Remind モジュールで発行したパスワード変更URLにアクセスした場合に、そのアクセスが有効かどうかの検証を行っています。その検証結果を表示するために以下のブロックが使用できるようになります。
<!-- BEGIN reset.success -->
<p class="acms-admin-alert acms-admin-alert-info">パスワードを変更しました。</p>
<!-- END reset.success -->
<!-- BEGIN reset.badRequest -->
<p class="acms-admin-alert acms-admin-alert-danger">不正なアクセスです。</p>
<!-- END reset.badRequest -->
<!-- BEGIN reset.expired -->
<p class="acms-admin-alert acms-admin-alert-danger">有効期限切れのURLです。再度申請ください。</p>
<!-- END reset.expired -->
<!-- BEGIN reset.notFound -->
<p class="acms-admin-alert acms-admin-alert-danger">不正なアクセスです。</p>
<!-- END reset.notFound -->