Я играл с Laravel 5.4.23, и я столкнулся с этим сценарием, когда я попал на страницу 404 auth()
, auth()->check()
, auth()->user()
, и они не инициализированы, таким образом возвращая null в представлениях или где-то рядом.
я даже пошел в класс AppServiceProvider.php, чтобы провести несколько тестов,
dd(auth()->check());
возвращает Null в методе boot
, даже если я вошел в систему, что для меня не имеет смысла.
это означает, что всякий раз, когда пользователь попадает на страницу 404, панели навигации и т. д. не будут отображать данные пользователя, как, например, традиционно у нас есть кнопка профиля пользователя вверху справа на панели навигации, как здесь, в stackoverflow, в этом случае в Laravel это невозможно с тем, что я вижу.
Я на правильном пути или что-то упускаю?
мне кажется, что Laravel пытается войти в систему после завершения тестов запросов.
Надеюсь, я найду здесь ответ.
Спасибо.
ОБНОВЛЕНИЕ:
включение попытки входа вручную в метод boot
в App \ Providers \ AppServiceProvider, похоже, исправило нулевую проблему в командах aut (), но я считаю, что это попытается войти в систему дважды за запрос страницы, поскольку, очевидно, Laravel получает зарегистрированный пользователь после загрузки, запросы на исключения и не знаю, что еще.