操作
Backport(バックポート) #3194
完了ログイン停止にしたメンバで自動ログインにチェックをいれてログインしようとしたときに「Internal Server Error」が発生する
開始日:
2011-10-05
期日:
進捗率:
100%
予定工数:
説明
概要¶
ログイン停止にしたメンバで自動ログインにチェックを入れてログインしようとしたときに「Internal Server Error」が発生する.
再現方法¶
- 管理画面のメンバ管理(/pc_backend.php/member/list)でIDが1のメンバのログイン停止を行う
- より具体的には(pc_backend.php/member/reject/id/1)で「有効にする」をクリックする
- 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)
Yuma Sakata さんが約12年前に更新
- ステータス を New(新規) から Accepted(着手) に変更
Yuya Watanabe さんが約12年前に更新
下記コミットは #3113 と記述されていますが,本チケットが 対象チケットの BP 元の修正のため,こちらにコミットの紐付けをしなおしました.
Yuya Watanabe さんが約12年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Yuma Sakata さんが約12年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。
操作