Bug(バグ) #2353
Maki Takahashi が12年以上前に更新
h3. Overview (現象)
未ログイン状態で閲覧にログインが必要なページにアクセスすると「ログインしてください」というアラートが表示されるが、その後、閲覧にログインが不要なページ(例:Web全体に公開の日記)にアクセスするとアラートが表示されたままになってしまう。
閲覧にログインが不要なページなのにこのようなアラートが表示されるのは不適切であると考えられる。
h3. 再現バージョン
* OpenPNE3.7 masterブランチ
* OpenPNE3.6beta13-dev
* OpenPNE3.4.15-dev
h3. 再現手順
1.メンバーAで未ログインの状態でログイン必要なページにアクセスする
(例:未ログイン状態で diary/new にアクセスする)
2.ログインしてくださいというアラートが表示されることを確認する
3.手順3の状態でweb全体に公開されている日記にアクセスする
4.「ログインしてください」の表示がされたままになる
h3. Causes (原因)
ログインアクション(member/login)において、「ログインしてください」メッセージを
$this->getUser()->setFlash()を利用してセットしているが
上記メソッドは次のアクションまでセットされたメッセージを保持するため
ログイン画面から別のページ(ログイン画面に再度アクセスした場合も含む)に行った場合でも
メッセージが表示され続けてしまっている バグが発生した原因を記入
h3. Way to fix (修正内容)
$this->getUser()->setFlash()の第3引数($persist)をfalseにする 修正内容を記入
未ログイン状態で閲覧にログインが必要なページにアクセスすると「ログインしてください」というアラートが表示されるが、その後、閲覧にログインが不要なページ(例:Web全体に公開の日記)にアクセスするとアラートが表示されたままになってしまう。
閲覧にログインが不要なページなのにこのようなアラートが表示されるのは不適切であると考えられる。
h3. 再現バージョン
* OpenPNE3.7 masterブランチ
* OpenPNE3.6beta13-dev
* OpenPNE3.4.15-dev
h3. 再現手順
1.メンバーAで未ログインの状態でログイン必要なページにアクセスする
(例:未ログイン状態で diary/new にアクセスする)
2.ログインしてくださいというアラートが表示されることを確認する
3.手順3の状態でweb全体に公開されている日記にアクセスする
4.「ログインしてください」の表示がされたままになる
h3. Causes (原因)
ログインアクション(member/login)において、「ログインしてください」メッセージを
$this->getUser()->setFlash()を利用してセットしているが
上記メソッドは次のアクションまでセットされたメッセージを保持するため
ログイン画面から別のページ(ログイン画面に再度アクセスした場合も含む)に行った場合でも
メッセージが表示され続けてしまっている バグが発生した原因を記入
h3. Way to fix (修正内容)
$this->getUser()->setFlash()の第3引数($persist)をfalseにする 修正内容を記入