2017-01-20 3 views
1

ブラウザのボタンをクリックしないようにしたい。ユーザーがログインしてブラウザの戻るボタンをクリックすると、ページはログインに間違ってリダイレクトされます。私はミドルウェアを作成し、それをカーネルに登録し、私のルートでグループとして使用しますが、それは機能しません。ここでは、コードLaravel 5.3 - 途中でクリアキャッシュを設定しない

ミドルウェア

<?php 

namespace App\Http\Middleware; 

use Closure; 

class ClearCache 
{ 
    public function handle($request, Closure $next) 
    { 
     $response = $next($request); 
     $response->headers->set("Cache-Control", "no-cache,no-store, must-revalidate"); 
     return $response; 
    } 
} 

KERNEL

protected $routeMiddleware = [ 
    .... 

    // CUSTOM MIDDLEWARE GOES HERE 
    'clear.cache' => \App\Http\Middleware\ClearCache::class, 
]; 

ROUTES LO後

<?php 

Route::group(['middleware' => 'guest'], function() { 
    Route::get('/', function() { 
     return view('welcome'); 
    }); 
}); 

Auth::routes(); 

Route::group(['middleware' => 'auth'], function() { 
    Route::group(['middleware' => 'clear.cache'], function() { 
     Route::get('/home', '[email protected]'); 
    }); 
}); 

ですユーザーが戻るボタンをクリックすると、ログインページにリダイレクトされます。ログアウトしても問題ありません。どんな助け? :(

答えて

0

あなたは一つのグループに対して複数のミドルウェアを定義することができます。

Route::group(['middleware' => ['auth', 'cache.clear']], function() { 

しかし、デフォルトではLaravelはあなたの認証コントローラで定義された$ redirectToにユーザーをリダイレクトあなたはクリックをバック避けるためにしようとしている理由を私は理解していません。

+0

facebookにログインして戻るボタンをクリックしてfacebookのログインページに戻ったときに、迷惑をかけないでください。 –

+0

Laravelは、使用時に自動的に/ home($ redirectsTo)ページにリダイレクトされます。ユーザーがログインしないようにするゲストミドルウェア。 – Adraqi

+0

ありがとう@Adraqi。 –

関連する問題