こんにちは。
Cakephp3で認証機能を作りました。
そこで、自動的にログアウトされる場合(例えば、Timeoutで時間が過ぎてログアウトされた場合等)、同じアカウントで再ログインすると設定したページ(loginRedirect)ではなく、最近閲覧したページがそのまま開きます。例えば、詳細ページで自動ログアウトされると、再ログインしたらメインページではなくてまた詳細ページが表示されます。
もちろん、正常にログアウトしたり、ブラウザーを開き直してログインするとAppController.phpのloginRedirectに設定したメインページが表示されます。
したいのは、時間切れなどで自動的にログアウトされた場合も、loginRedirectのメインページが表示される、ということです。
多分、セッションかクッキーの値が残っているのでは?と思いますが、どうすればいいのかマニュアルを読んでもわかりませんでした。
何かいい方法がありましたら教えてください。
宜しくお願い致します。
「追加」
あと、https://qiita.com/milano/items/9a013ffe875285a04e1c を参考し、以下のように修正してみましたが動きません。
PHP
1 $user = $this->Auth->identify(); 2 if ($user) 3 { 4 $this->Auth->setUser($user); 5 $this->Session->delete('Auth.redirect'); 6 return $this->redirect($this->Auth->redirectUrl());
自動的にログアウトされた後、URLに http://localhost:8765/?redirect=%2Ffacility という感じでRedirect先が渡されています。
セッション削除も効かないし、ダイレクトにURL入れてもダメです。
何かいい方法ありませんかね。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。