プロジェクト

全般

プロフィール

Backport(バックポート) #2473

ログイン停止にしたメンバで自動ログインにチェックをいれてログインしようとしたときに「Internal Server Error」が発生する

Mutsumi Imamura12年以上前に追加. 12年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2011-10-05
期日:
進捗率:

100%


説明

概要

ログイン停止にしたメンバで自動ログインにチェックを入れてログインしようとしたときに「Internal Server Error」が発生する.

再現方法

  1. 管理画面のメンバ管理(/pc_backend.php/member/list)でIDが1のメンバのログイン停止を行う
    • より具体的には(pc_backend.php/member/reject/id/1)で「有効にする」をクリックする
  2. SNSのログイン画面を開いてIDが1のメンバのメールアドレス及びパスワードの入力と「次回から自動的にログイン」にチェックを入れて「ログイン」をクリックする
    • 「現在、サーバが混み合っているか、メンテナンス中です。」という表示がされる

原因

以下の箇所で249行目ではログインが停止されているという理由でログアウト状態となるが,251行目ではフォーム内容を確認し253行目を実行する.
この253行目を実行する際に同ファイル184行目でメンバIDを取得するが,249行目ですでにログアウト状態となっていてメンバIDを取得できないためLogicException()が発生する.

lib/user/opSecurityUser.class.php

 249     $this->initializeUserStatus();
 250
 251     if ($this->getAuthAdapter()->getAuthForm()->getValue('is_remember_me'))
 252     {
 253       $this->setRememberLoginCookie();
 254     }

 181     else
 182     {
 183       $rememberKey = opToolkit::getRandom();
 184       if (!$this->getMemberId())
 185       {
 186         throw new LogicException('No login');
 187       }
 188       $this->getMember()->setConfig('remember_key', $rememberKey);

確認環境

OpenPNE3.7.0-dev (master)
OpenPNE3.6.0-dev (stable-3.6.x)


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #2469: ログイン停止にしたメンバで自動ログインにチェックをいれてログインしようとしたときに「Internal Server Error」が発生する Fixed(完了) 2011-10-05

関係しているリビジョン

リビジョン 0beb1071 (差分)
Yuya Watanabe12年以上前に追加

(fixes #2473, BP from #2469) fixed not to occur internal server error

履歴

#1 wa ta12年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 0beb10713420e6edd7496f1d63c14827ef019a8f で適用されました。

#2 Kousuke Ebihara12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#3 Yuma Sakata12年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

テストOKです。

他の形式にエクスポート: Atom PDF