Я использую Laravel 5.3, и у меня есть следующая проблема.Проверка авторизации пользователя во всех действиях контроллеров
[UPDATE]
Моя первая беда была появление ошибки при выполнении действий на сайте, когда пользователь не вошел в систему.
Это произошло при запуске браузера, где по умолчанию на странице отображается кешированная информация. Интерфейс сайта отображается для зарегистрированных пользователей, а в его системе не было. В то же время, производя некоторые действия, я получаю сообщение об ошибке, когда пользователь не авторизовался.
У меня также есть групповое промежуточное ПО для всех моих маршрутов. Когда я перезагружаю страницу сайта, промежуточное программное обеспечение активируется и перенаправляется на страницу входа. Основная проблема заключается в том, что браузер показывает кэшированную информацию.
Итак, в дополнение к промежуточному программному обеспечению для маршрутов я решил сделать проверку подлинности в контроллерах.
[/ UPDATE]
Я хочу проверить авторизацию пользователя в действии каждого контроллера. Выполнение проверки подлинности в действиях каждого контроллера вручную не является решением, поскольку существует множество контроллеров и действий.
Так что я решил сделать это по всему миру. не
Поскольку все контроллеры распространяется Главный контроллер (App \ Http \ Контроллеры \ controller.php), я решил написать AUTH() -> проверка() в конструкторе:
function __construct()
{
if(auth()->check()) dd('success');
}
Но ... ничего случилось (((Тогда я нашел метод CallAction в BaseController, который проходит Главный контроллер и сделал отметку здесь:
public function callAction($method, $parameters)
{
if(auth()->check()) dd('success');
return call_user_func_array([$this, $method], $parameters);
}
на этот раз все в порядке, но мне не нравится это решение, потому что редактирование файлов ядра не
Наконец, я обновил метод callAction в Main Controller с проверкой подлинности, но мне тоже не нравится.
Есть ли решение?
Что об использовании промежуточного ПО? – CUGreen
Я пробовал этот путь, но это не сработало для меня (ничего не случилось. –
Просто следуйте [этому ответу] (http://stackoverflow.com/questions/13745897/laravel-auth-check-for-all-pages) –