ログイン

このページでは a-blog cms を利用される上でよくはまるトラブルとその解決方法についてご紹介しています。

ログイン

目次

入力したユーザー名とパスワードは合っているのに、CMSにログインできない

正確なユーザー名とパスワードを入力しているにも関わらず、CMSへログインできない場合は、以下の項目をご確認ください。

サイトのURLとconfig.server.php に記載されているドメインが一致しているか確認する

サイトのURLとconfig.server.php の DOMAIN が合っていない可能性があります。 現在表示しているURLとconfig.server.phpに記述されているドメインが一致しているかご確認ください。

Cookieを削除してみる

ブラウザのCookieを開発ツールなどから削除してください。削除しても改善されない場合は、http:// 表示時とhttps://表示時で、それぞれCookieを削除してください。

リバースプロキシなどのインフラが関係し、セッションが維持できていない

「ページの有効期限が切れています」というメッセージが出る場合は、セッションが維持できていない可能性があります。リバースプロキシなどのインフラが関係している可能性があるので、インフラ担当者にセッションが維持できるようになっているか、ご確認ください。

ログアウトまたは読者権限のユーザーでログインすると、組み込みJSが動作しない

ログアウトまたは読者権限のユーザーでログイン時に組み込みJSが動作しない場合は、組み込みJS自体が読み込まれていない可能性があります。

公式で配布している「develop」テーマでは投稿者以上でログインしている時のみ組み込みJSを読み込むようになっており、developテーマを元にテーマ開発を行うとログアウトまたは読者権限のユーザーでログインしている状態では組み込みJSが動作しません。

組み込みJSでは、さまざまなJSが含まれており使わない機能も多いので、パフォーマンスを考慮してログアウトまたは読者権限のユーザーでログイン時は組み込みJSを読み込まないようになっております。

修正方法

以下のように変更することで、ユーザーの権限やログイン状態に関わらず、組み込みJSを読み込むことができます。

修正ファイル: themes/ご利用テーマ/include/head/js.html

修正前

<!-- 投稿者以上以上の場合だけ組み込みJSを読み込むようにする -->
<!-- BEGIN_MODULE Touch_SessionWithContribution -->
<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->
<!-- END_MODULE Touch_SessionWithContribution -->

修正後

<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script><!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->

設定したログイン時間よりも短い時間でログアウトしてしまう

a-blog cms では、ログインセッション時間を「.env」ファイルで設定できるようになっています。
デフォルトでは、72時間有効です。

# セッション
SESSION_COOKIE_LIFETIME=259200 # セッションのCookie有効期限

ただしサーバーの環境によっては、30分程度でログアウトしてしまう現象が発生することがあります。

原因

セッション管理にはPHPのセッションの仕組みを利用しています。 このセッション情報はデフォルトですとサーバー上のファイルとして管理しているのですが、このセッションファイルの有効期限が短い可能性がございます。

PHPデフォルトの設定だと、1/100の確率で、24分より古いセッションファイルが消えるので、これが影響している可能性が高いです。

session.gc_maxlifetime

サーバに保存されているセッションファイルを保護する有効期限。

session.gc_probability / session.gc_divisor

セッションファイルが消える確率。「session.gc_probability / session.gc_divisor」の確率で削除されます。

対策

php.ini で「session.gc_maxlifetime」の期限を伸ばしていただくか、config.user.php に以下コードを設定ください。

ini_set('session.gc_maxlifetime', 259200); // 72時間を設定