Laravel 5.3 - 在中间设置清除缓存不起作用

时间:2017-01-20 00:46:41

标签: php authentication caching 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,
];

路线

<?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', 'HomeController@index');
    });
});

在用户点击后退按钮登录后,它会重定向回登录页面。退出是好的。有帮助吗? :(

1 个答案:

答案 0 :(得分:0)

您可以为一个组定义多个中间件:

reserve

但默认情况下,Laravel会将用户重定向到您在Auth控制器中定义的$ redirectTo。我不明白为什么你要避免后退点击。