Laravel 5.3 — установить очистить кеш по середине не работает

Я хочу, чтобы пользователь не нажимал кнопку назад в браузере. Всякий раз, когда пользователь вошел в систему и нажал кнопку «Назад» браузера, страница перенаправила обратно на страницу входа, что неверно. Я создаю промежуточное программное обеспечение и регистрирую его в ядре и использую его в своем маршруте как группу, но он не работает. Вот код

MIDDLEWARE

<?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

Решение

Вы можете определить несколько промежуточных программ для одной группы:

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

Но по умолчанию Laravel перенаправляет пользователей на $ redirectTo, определенный в ваших контроллерах Auth. Я не понимаю, почему вы пытаетесь избежать щелчка назад.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector