2017-10-28 10 views
0

私はlaravel 5.1アプリケーションを開発中です。ユーザをログインページにリダイレクトするために、リクエストごとにユーザセッションが切れているかどうか確認したいと思います。 私が入力したときに「localhostの:8000」をので、私はすべての要求上で動作するミドルウェアを作成しているそうするためには、ハンドルの機能は、このlaravel 5.1セッションが期限切れになっていないか確認してください。

public function handle($request, Closure $next) 
{ 
    if(session_status() === PHP_SESSION_NONE) 
    { 
      return redirect()->guest('login'); 
    } 
    return $next($request); 
} 

のように見えるこれは、正常に動作するようには思えないグーグルクロームでそれは 'localhostはあなたに何度もリダイレクトされました'と言っています。ユーザーがログインしていないのでセッションが開始されていないためです。このチェックを行うには良い方法がありますか?

答えて

0

特定のルートでミドルウェアを無効にすることができます。 excepted_urls配列にログインルートを追加します。たとえば、クラスの先頭に次の行を追加します。

protected $except_urls = [ 
     'login' 
    ]; 

か、

をグループ化するルートを採用することにより、使用しているLaravelのバージョンに依存し、あなたのweb.php/routes.phpの中でそれを無効にすることができます
+0

まだ私のために働いていない、私は同じエラーメッセージが表示されます。 –

関連する問題