session()->forget('user_role')
работает хорошо. Тем не менее, вы по-прежнему можете просматривать / печатать, потому что браузер кэшировал эту страницу, и вместо того, чтобы выполнять сетевой вызов, запрос просто нагревает кэш.
Чтобы определить и отключить кэширование на некоторое время, откройте инструменты разработчика и отключите кэш, когда инструмент разработки открыт, и обновите страницу sh. После этого вы больше не сможете видеть эти данные, хранящиеся в ключе сеанса. Для справки: страница, которую вы видите, кэширована браузером. Это временное решение, если вы хотите проверить вымытое значение или нет. Однако, если вы не хотите, чтобы ваш пользователь имел такое поведение, вы можете попробовать указанные решения.
Для управления кэшем на основе браузера вам следует попробовать установить Cache-Control
, Pragma
и * 1010. * заголовок с ответом вашей страницы, как указано,
$contents = View::make('viewname');
return response($contents)-> withHeaders([
'Cache-Control' => 'no-cache, no-store, must-revalidate',
'Pragma' => 'no-cache',
'Expires' => 0
]);
это позволит вам контролировать страницу, которая кэшируется в браузере. Установка Expires
в 0 означает, что страница никогда не будет кэшироваться. Вы можете сослаться на Официальные документы MDN здесь.
Вам также следует попробовать отключить Laravel кэш блочного представления , если проблема все еще сохраняется или другое решение не помогает дать удовлетворительный результат.