質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

1回答

2130閲覧

Laravel5.2で認証していないとき、トップページにリダイレクトさせたいです。

roooo

総合スコア57

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/01/25 06:00

Laravel5.2で認証していないとき、トップページにリダイレクトさせたいです。
共通処理でできますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

私が確認したのはLaravel5.3ですが、下記の方法で可能だと思います。
App\Exceptionsの下に、Handler.phpがあります。

この中のunauthenticatedというメソッドのreturnでredirect先を制御してあげればOKだと思います。

php

1 /*** Convert an authentication exception into an unauthenticated response. 2 * 3 * @param \Illuminate\Http\Request $request 4 * @param \Illuminate\Auth\AuthenticationException $exception 5 * @return \Illuminate\Http\Response 6 */ 7 protected function unauthenticated($request, AuthenticationException $exception) 8 { 9 if ($request->expectsJson()) { 10 return response()->json(['error' => 'Unauthenticated.'], 401); 11 } 12 //↓↓ここを変更して下さい。 13 return redirect()->guest('/'); 14 }

投稿2017/01/25 07:45

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roooo

2017/01/27 06:20 編集

ありがとうございます。 改修したところ 自分の環境では、 Trying to get property of non-object (View: /Users/................. と出てしまいます。そのまま、ログイン切れになるとそのページがエラーになって表示されてしまうという現象ですね。
motuo

2017/01/27 06:41

エラーコードを全文、質問のほうに張り付けてもらって良いですか?
roooo

2017/01/28 07:44 編集

ありがとうございます。 エラーメッセージ全文です。 ErrorException in 79528cd9f8c18433ceeda53101e741578f13405c.php line 7: Trying to get property of non-object (View: /Users/自分/Desktop/dev/cms/resources/views/auth/mypage/common/header.blade.php) (View: /Users/自分/Desktop/dev/cms/resources/views/auth/mypage/common/header.blade.php) 時間が経って、自動でログアウトした後、同一ページリロードすると、で上記の様なエラーが出てしまうので、その場合はリダイレクトさせたいです。 よろしくお願いいたします。
motuo

2017/01/30 01:20

なかなか原因が掴めないですね。。。middlewareの設定は正しいでしょうか? routeであれば下記の様になっていますか? Route::get('/, function() { return view('遷移先view'); })->middleware('auth'); または、controllerのコンストラクタに $this->middleware('auth'); は入っていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問