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

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

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

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

15689閲覧

Laravel5.1 認証のセッションが切れた時のフラッシュメッセージ

twin_bird

総合スコア230

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

1グッド

0クリップ

投稿2016/01/31 16:56

Laravel5.1で、ログアウト時のフラッシュメッセージを設定するにはどうすれば良いのでしょうか?

ログアウトボタンでのログアウトの場合は、Auth::logoutが実装されたgetLoginという関数を通してフラッシュメッセージを設定することができるのですが、

セッション有効期限切れでログアウトされた時のフラッシュメッセージはどこで設定すればよいのでしょうか?

認証機能はLaravelのデフォルトのミドルウェアを使用しています。

ミドルウェアの仕組みを理解しきれていないのですが、分かる方がいましたら教えて下さい!

YoosamKang👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

ものすごく今さらでとうに解決されたと思いますが、
ちょうど実装したので後学のために書いておきます。

Laravelのセッション有効期限切れは TokenMismatchException でキャッチされるので、 app/Exceptions/Handler.php の該当部分を変更します。

PHP

1namespace App\Exceptions; 2 3use Exception; 4use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; 5use Illuminate\Session\TokenMismatchException; //① 6 7class Handler extends ExceptionHandler 8{ 9 ・・・ 10 public function render($request, Exception $e) 11 { 12 if ($e instanceof TokenMismatchException) { 13 // ② 14 \Session::flash('message', 'セッションが切れました。'); 15 return redirect()->route('home'); 16 } 17 18 return parent::render($request, $e); 19 } 20}
  • ①でuseを追加してエラーをキャッチできるようにする
  • ②の部分に処理を記載

ついでにセッション期限の設定は config/app.php 内の lifetime に記載します。

投稿2016/09/06 03:02

tokutoku393

総合スコア54

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

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

twin_bird

2016/09/06 04:06

回答ありがとうございます! 未だ解決していなかったので助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問