ログイン・会員機能の基本

この機能は Ver. 3.1 以上のバージョンから利用できます。


a-blog cms では、会員制サイトを作成するための会員機能が標準機能として搭載されています。SNSログインや2段階認証など、メールアドレス/ユーザーIDとパスワード以外でのログイン認証についても標準機能としてサポートされている他、パスワードポリシー設定などのセキュリティに関する設定も標準機能として提供されています。


また、管理者用のログインURLと会員用のログインURLを別々に設定できるため、セキュリティ的にも安全な会員制サイトを制作することができます。

主な機能としては以下のようなものがあげられます。

  • メールアドレスとパスワードによるサインイン認証
  • SNSアカウントによるサインイン認証
  • 2段階認証
  • メール認証サインイン機能
  • 会員サインアップ(会員登録)フォーム
  • メールアドレス認証機能
  • パスワードリセット機能
  • マイページ機能(プロフィール情報変更機能)
  • メールアドレス変更機能
  • パスワード変更機能
  • 退会機能
  • パスワードポリシー(パスワードのルール)の設定

公式テーマの一つである member テーマは、会員機能のカスタマイズ例として活用することができます。会員制サイトを制作する際は是非参考にしてください。

member テーマについてもっと知りたい方は memberテーマの使い方を御覧ください。


認証に関連するページとURLについて


管理者ログインページや、会員サインインページなど、認証に関連するページと、そのページがどのようなURLで表示されるかを説明します。



ページ 説明 デフォルトURL
管理ログインページ 管理ユーザーがログインするためのページです /login/
管理ユーザー用パスワード再設定ページ 管理ユーザーがパスワードを忘れた時、パスワードを再設定するページです /admin-reset-password/
管理ユーザー用パスワード再設定の認証ページ 管理ユーザーがパスワードを再設定するため、認証メールの送信を行うページです /admin-reset-password-auth/
管理ユーザー用2段階認証解除ページ 管理ユーザーがリカバリーコードにより、2段階認証を解除するページです /admin-tfa-recovery/
サインインページ 一般(会員ユーザー)がサインインするためのページです /signin/
会員登録ページ 一般(会員ユーザー)が会員登録するためのページです /signup/
一般(会員ユーザー)ユーザー用パスワード再設定ページ 一般(会員ユーザー)がパスワードを忘れた時、パスワードを再設定するページです /reset-password/
一般(会員ユーザー)ユーザー用パスワード再設定の認証ページ 一般(会員ユーザー)がパスワードを再設定するため、認証メールの送信を行うページです /reset-password-auth/
一般(会員ユーザー)ユーザー用2段階認証解除ページ 一般(会員ユーザー)ユーザーがリカバリーコードにより、2段階認証を解除するページです /tfa-recovery/
プロフィール更新ページ ログイン後、自身のプロフィールを変更するページです /mypage/update-profile/
メールアドレス変更ページ ログイン後、自身のメールアドレスを変更するページです /mypage/update-email/
パスワード変更ページ ログイン後、自身のパスワードを変更するページです /mypage/update-password/
2段階認証設定ページ ログイン後、2段階認証の設定を行うページです /mypage/update-tfa/
退会ページ 一般(会員ユーザー)が退会するページです /mypage/withdrawal/

以下のページはコンフィグの設定に関わらず、ページキャッシュ機能が無効になります。

  • プロフィール更新ページ
  • メールアドレス変更ページ
  • パスワード変更ページ
  • 2段階認証設定ページ
  • 退会ページ

認証に関連するページのURLを変更する


認証に関連するページのURLは config.server.php から変更することができます。



定数 説明 デフォルト値
LOGIN_SEGMENT 管理ログインページのパス login
ADMIN_RESET_PASSWORD_SEGMENT 管理ユーザー用パスワード再設定ページのパス admin-reset-password
ADMIN_RESET_PASSWORD_AUTH_SEGMENT 管理ユーザー用パスワード再設定の認証ページのパス admin-reset-password-auth
ADMIN_TFA_RECOVERY_SEGMENT 管理ユーザー用2段階認証解除ページのパス admin-tfa-recovery
SIGNIN_SEGMENT 一般サインインページのパス signin
SIGNUP_SEGMENT 会員登録ページのパス signup
RESET_PASSWORD_SEGMENT 一般ユーザー用パスワード再設定ページのパス reset-password
RESET_PASSWORD_AUTH_SEGMENT 一般ユーザー用パスワード再設定の認証ページのパス reset-password-auth
TFA_RECOVERY_SEGMENT 一般ユーザー用2段階認証解除ページのパス tfa-recovery
PROFILE_UPDATE_SEGMENT 自身のプロフィール変更ページのパス mypage/update-profile
PASSWORD_UPDATE_SEGMENT 自身のパスワード変更ページのパス mypage/update-password
EMAIL_UPDATE_SEGMENT 自身のメールアドレス変更ページのパス mypage/update-email
TFA_UPDATE_SEGMENT 自身の2段階認証設定ページのパス mypage/update-tfa
WITHDRAWAL_SEGMENT 自身の退会ページのパス mypage/withdrawal

config.server.php で設定した各ページのパスはグローバル変数として表示できます。

テンプレート上はグローバル変数でURLを表示することで、あとから設定を変更した場合でもテンプレートの修正が必要なくなり、変更に強いテンプレートを作成することができます。

グローバル変数


管理ユーザーと一般(会員ユーザー)について


管理ユーザーと一般(会員ユーザー)をどのように分けているかについて説明いたします。

管理ユーザーは一般サインイン画面からログインはできず、管理ログイン画面からのみログインできます。一般(会員ユーザー)は管理ログイン画面からログインできず、一般サインイン画面からのみログインできます。

デフォルトの分け方は以下のように、読者権限のユーザーのみが一般(会員ユーザー)として扱われます。



タイプ ユーザー権限
管理ユーザー 管理者・編集者・投稿者
一般(会員ユーザー) 読者

投稿者を一般(会員ユーザー)として扱いたいなど、管理ユーザーと一般(会員ユーザー)の権限を変更したい場合は、管理画面 > コンフィグ > ログイン設定 の「基本設定」から「一般サインイン権限」で設定を変更することができます。


一般サインイン権限を設定する

一般サインイン権限を設定する


認証に関連するテンプレート

管理ログインページや会員登録ページなど認証に関連するテンプレートについて説明します。

管理ユーザー向けのテンプレート

管理ユーザー向けのテンプレートについて説明します。管理ユーザー向けのテンプレートのため基本的にカスタマイズが必要になることはありません。



パス 説明
_member-admin/login.html 管理ログインするためのテンプレート
_member-admin/reset-password.html 管理ユーザーのパスワード再設定のためのテンプレート
_member-admin/reset-password-auth.html 管理ユーザーのパスワード再設定リンク先のテンプレート
_member-admin/tfa-recovery.html 管理ユーザーが2段階認証を解除するためのテンプレート

会員ユーザー向けのテンプレート

会員ユーザー向けのテンプレートについて説明します。会員制サイトを制作する場合にカスタマイズするテンプレートになります。



パス 説明
_member/signin.html 会員サインインするためのテンプレート
_member/signup.html 会員登録するためのテンプレート
_member/reset-password.html 会員のパスワード再設定するためのテンプレート
_member/reset-password-auth.html 会員のパスワード再設定リンク先のテンプレート
_member/tfa-recovery.html 会員が2段階認証を解除するためのテンプレート
_member/update-email.html ログイン後、メールアドレスを更新するためのテンプレート
_member/update-password.html ログイン後、パスワードを更新するためのテンプレート
_member/update-profile.html ログイン後、ユーザー情報を更新するためのテンプレート
_member/update-tfa.html ログイン後、2段階認証を設定・解除するためのテンプレート
_member/withdrawal.html 会員ユーザーが退会するためのテンプレート

テンプレートのパスを変更する

管理ユーザー向けのテンプレート及び、会員ユーザー向けのテンプレートは、config.system.yaml または、使用しているテーマ直下のtemplate.yaml から変更することができます。

tpl_login: _member-admin/login.html
tpl_admin-reset-password: _member-admin/reset-password.html
tpl_admin-reset-password-auth: _member-admin/reset-password-auth.html
tpl_admin-tfa-recovery: _member-admin/tfa-recovery.html
tpl_signin: _member/signin.html
tpl_signup: _member/signup.html
tpl_reset-password: _member/reset-password.html
tpl_reset-password-auth: _member/reset-password-auth.html
tpl_tfa-recovery: _member/tfa-recovery.html
tpl_update-profile: _member/update-profile.html
tpl_update-password: _member/update-password.html
tpl_update-email: _member/update-email.html
tpl_update-fta: _member/update-tfa.html
tpl_withdrawal: _member/withdrawal.html

シークレットステータスのブログ・カテゴリーにアクセスしたときに表示されるログインページ

シークレットカテゴリやシークレットブログに設定しているページにアクセスした場合、通常、ログインページが表示されます。

このとき、管理ログインページと一般サインインページのどちらを表示させたいかはサイトの仕様によるため、コンフィグから管理ログインページと一般サインインページのどちらを表示させるかを設定できるようになっています。

管理ページ > コンフィグ > ログイン設定の「ログインページの指定」で行います。


ログインページの指定の設定

ログインページの指定の設定


一般的には、会員サイトであればデフォルト値である「一般サインイン画面」を設定するのがおすすめです。