Bug(バグ) #2353
ログインしてくださいというアラートが表示され続ける
100%
説明
Overview (現象)¶
未ログイン状態で閲覧にログインが必要なページにアクセスすると「ログインしてください」というアラートが表示されるが、その後、閲覧にログインが不要なページ(例:Web全体に公開の日記)にアクセスするとアラートが表示されたままになってしまう。
閲覧にログインが不要なページなのにこのようなアラートが表示されるのは不適切であると考えられる。
再現バージョン¶
- OpenPNE3.7 masterブランチ
- OpenPNE3.6beta13-dev
- OpenPNE3.4.15-dev
再現手順¶
1.メンバーAで未ログインの状態でログイン必要なページにアクセスする
(例:未ログイン状態で diary/new にアクセスする)
2.ログインしてくださいというアラートが表示されることを確認する
3.手順3の状態でweb全体に公開されている日記にアクセスする
4.「ログインしてください」の表示がされたままになる
Causes (原因)¶
ログインアクション(member/login)において、「ログインしてください」メッセージを
$this->getUser()->setFlash()を利用してセットしているが
上記メソッドは次のアクションまでセットされたメッセージを保持するため
ログイン画面から別のページ(ログイン画面に再度アクセスした場合も含む)に行った場合でも
メッセージが表示され続けてしまっている
Way to fix (修正内容)¶
$this->getUser()->setFlash()の第3引数($persist)をfalseにする
関連するチケット
関係しているリビジョン
(refs #2353) chenged sefFlash() persist param to false in member/login
履歴
#1 Maki Takahashi が12年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Maki Takahashi にセット
#2 Maki Takahashi が12年以上前に更新
- 対象バージョン を OpenPNE 3.7.0 にセット
- 3.6 で発生するか を Yes にセット
#3 Shingo Yamada が12年以上前に更新
- 優先度 を Normal(通常) から High(高め) に変更
#4 Shingo Yamada が12年以上前に更新
- 360対象 を RC1 にセット
#5 Maki Takahashi が12年以上前に更新
- 説明 を更新 (diff)
#6 Maki Takahashi が12年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
commit: a4bd10e2 にて修正いたしました。
再現手順を実行し、「ログインしてください」アラートが表示されている状態で
全体に公開の日記にアクセスした際に、アラートが表示されないことを確認しています。
#7 Yuma Sakata が12年以上前に更新
- 360対象 を削除 (
RC1)
#8 Yuma Sakata が12年以上前に更新
- 360対象 を RC1 にセット
#9 Rimpei Ogawa が12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
チケット表題の問題についての修正内容はレビューしましたが問題ありません。
ただ、masterブランチの a4bd10e2 時点のソースコード(バンドルプラグイン含む)で調べたところ、以下の2箇所で同様の原因でエラーメッセージが画面遷移後に残る問題が発生する可能性があります。
mailActions::executeTemplate()
apps/pc_backend/modules/mail/actions/actions.class.php 68: $this->getUser()->setFlash('error', (string)$this->form->getErrorSchema()); 69- } 70- }
opCommunityTopicPluginEventCommentActions::executeCreate()
plugins/opCommunityTopicPlugin/lib/action/opCommunityTopicPluginEventCommentActions.class.php 67: $this->getUser()->setFlash('error', $e->getMessage()); 68- } 69- } 70- 71- $this->setTemplate('../../communityEvent/templates/show'); 72- 73- return sfView::SUCCESS; 74- }
#10 Maki Takahashi が12年以上前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
note-9 について、それぞれチケットを作成いたします。
#11 Maki Takahashi が12年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
#12 Maki Takahashi が12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
本チケットの修正内容につきましては、すでにレビューいただき問題ないとのことですので
テスト待ちにいたします
#13 Yuma Sakata が12年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。