タイトルの通りなのですが、例えばログイン後に見られるページをブックマークしていました。
あるユーザーは、2ヶ月ぶりにそのブックマークを開きました。
しかし、cookieが切れていたのか、ログインページにリダイレクトさせられました。
ユーザーは自分のアドレスとパスワード入力してログインしました。
そしたらトップページにアクセスしてしましました。
、、、と、これが普通だとは思うのですが、ここでログインし直したらトップページではなく「そのブックマークを開いたページ」に移動させたいのですが、これにはログインページを制御するコントローラーが、遷移元のURLを知る必要があります。
あ、フレームワークを使っていてfuelphpなのですが、こういう機構はないのでしょうか?
現在開発中の使用は、ログイン後のコントローラーのベースクラスのbeforeでゲストユーザーは通さないようにしています。
if ( ! \Auth::check()) { // ログインページへリダイレクト \Response::redirect('naisyo/secret/index'); }
http://fuelphp.jp/docs/1.8/classes/response.html
Response::redirect_backやInput::referrerなどがあるようです。
ログインページに来た時のメソッドのど頭で
Response::redirect(\Input::referrer());
テストしてみましたが空文字で返ってきますので、https://teratail.comのようにセグメントなしにリダイレクトされます。
どうしたら実現できるでしょうか?
ログイン後のコントローラーのベースクラスのbeforeで該当のURLをPOSTなどで送ってそこから取得ともできなくもないですが、なんか違うような気がします。
回答1件
あなたの回答
tips
プレビュー