Project

General

Profile

Backport(バックポート) #3194

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

Added by Yuma Sakata over 11 years ago. Updated about 11 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2011-10-05
Due date:
% Done:

100%


Description

概要

ログイン停止にしたメンバで自動ログインにチェックを入れてログインしようとしたときに「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)


Related issues

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

Associated revisions

Revision 7ce84bb0 (diff)
Added by Yuya Watanabe over 11 years ago

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

History

#1 Updated by Yuma Sakata over 11 years ago

  • Status changed from New(新規) to Accepted(着手)

https://redmine.openpne.jp/issues/3113#note-4 で取り込み済みです。

#2 Updated by 開 石切山 over 11 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#3 Updated by Yuya Watanabe about 11 years ago

note-1 の内容ですが,なぜ #3113 で対応しているのでしょうか?

#4 Updated by Yuma Sakata about 11 years ago

note-3 指摘を回答します。

  • 経緯
    1. #3113 で #2414 の修正を取り込むためには、先に master で修正が行われていた #2469 を取り込む必要がありました
    2. なぜならば #2469#2414 とマージして行かないとコンフリクトするからです
    3. #2469 を取り込み時にBPチケットの有無を確認しなかったため、誤って #3113 に紐付けでコミットしました
    4. あとで #2469 のBPが無いことに気づいて、#3194を作成しました
  • なぜ #3113 で対応したか
    本チケットで #2469 の修正を取り込むべきですが、
    修正を取り込む前にチケットが紐付いているか確認しなかったため #3113 で対応しました

#5 Updated by Yuya Watanabe about 11 years ago

下記コミットは #3113 と記述されていますが,本チケットが 対象チケットの BP 元の修正のため,こちらにコミットの紐付けをしなおしました.

7ce84bb02c5a37904e93af14284b2ff4ffc483bd

#6 Updated by Yuya Watanabe about 11 years ago

  • Assignee changed from Yuya Watanabe to Yuma Sakata

#7 Updated by Yuya Watanabe about 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#8 Updated by Yuma Sakata about 11 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

テストOKです。

Also available in: Atom PDF