Как удалить кэш определенной страницы

при реализации аутентификации в laravel с использованием часового и выхода из системы, тогда, если я нажму ‘вернуться на одну страницу
Кнопка любого браузера возвращается на панель инструментов. Если страница обновляется, она переходит на страницу входа в систему по желанию. Но я хочу запретить доступ к панели инструментов без обновления.

  1. Как удалить кеш этой конкретной страницы сразу после выхода из системы?
  2. Как узнать какой-либо кеш страницы браузера и подход Laravel к этому?

Нотабене После выхода из системы и перехода на панель инструментов таким способом предотвращается изменение чего-либо по мере необходимости.

5

Решение

Уничтожьте сеанс при вызове функции выхода из системы. Просто напишите свою функцию выхода из системы в вашем контроллере следующим образом:

public function getLogout() {
Sentry::logout();
Session::flush(); // Insert this line, it will  remove  all the session data
return Redirect::to('users/login')->with('message', 'Your are now logged out!');
}

Редактировать:

Сначала я использовал только Session: flush (), и как-то это сработало! Но когда я проверил еще раз, я обнаружил, что это не работает. Итак, нам нужно добавить немного кода, чтобы очистить кеш браузера при выходе из системы.

Использование фильтра может быть решением этой проблемы. (Я не нашел другого решения) Сначала добавьте этот код в filters.php:

Route::filter('no-cache',function($route, $request, $response){

$response->header("Cache-Control","no-cache,no-store, must-revalidate");
$response->header("Pragma", "no-cache"); //HTTP 1.0
$response->header("Expires"," Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

});

Затем прикрепите этот фильтр к маршрутам или контроллерам. Я добавил это в функцию конструктора контроллера следующим образом:

public function __construct() {
$this->beforeFilter('csrf',array('on' => 'post'));
$this->afterFilter("no-cache", ["only"=>"getDashboard"]);
}
1

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

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

По вопросам рекламы [email protected]