Backport(バックポート) #2044
closedpc_frontend から利用可能な認証プラグインがない状態でメール投稿がおこなえない
100%
Description
Overview (現象)¶
pc_frontend から利用可能な認証プラグインがない状態でメール投稿がおこなえない。
再現手順¶
1. 管理画面において、すべての認証プラグインの「PC版有効設定」を「無効にする」に変更する
2. メール投稿をおこなう
3. サーバ側に以下のようなエラーメッセージが記録されることを確認する
PHP Fatal error: Cannot instantiate abstract class opAuthAdapter in /path/to/OpenPNE/lib/user/sfOpenPNESecurityUser.class.php on line 109
Causes (原因)¶
携帯メール経由で OpenPNE へアクセスした際に、 opSecurityUser がそのアクセスを携帯からのものとみなしておらず、 PC の設定を確認しに行くために、 opSecurityUser を初期化した際に利用可能な認証プラグインがないと判断され、エラーとなってしまう。
mobile_mail_frontend のアクションを実行するのだから、携帯として扱うのが自然。また、そもそも mobile_mail_frontend で opSecurityUser を使う意味はないはずなので、 sfBasicSecurityUser に変更するなどの対応も検討する。
Way to fix (修正内容)¶
myUser の親クラスを opSecurityUser から sfBasicSecurityUser に変更する。
Updated by Masato Nagasawa over 13 years ago
- Target version changed from OpenPNE 3.4.12 to OpenPNE 3.4.13
Updated by Masato Nagasawa over 13 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 72c1860b9ea9e5b0d2888923d0057ba92baf9588 で適用されました。
Updated by Masato Nagasawa over 13 years ago
更新履歴 da5ac61e737950f6c57b09f3d3483ed4abb38f02 で適用されました。
Updated by Masato Nagasawa over 13 years ago
- Status changed from Pending Review(レビュー待ち) to New(新規)
- Assignee deleted (
Masato Nagasawa)
3.4.12 では取り込みを行わないので、一旦取り消します。
Updated by Masato Nagasawa over 13 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Masato Nagasawa
Updated by Masato Nagasawa over 13 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
更新履歴 0f89576cf9cd1c8364eb39f885d5a0bd20c9f734 で適用されました。
Updated by Minoru Takai over 13 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
修正方針については、実装者によって検討されている経緯を見るかぎりは妥当そうだと判断できます。
修正内容についてですが、コーディング規約の観点からも問題はなさそうだと判断できるのでコードチェックはOKです。
Updated by Minoru Takai over 13 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
テストは既に行なわれているため、 note-7 のチェックを以てテスト完了とし、チケットをクローズします。