Это должно быть что-то действительно легкое, но у меня нет большого опыта в Laravel, и я безуспешно искал и старался.
Я работаю над существующим проектом и у него есть несколько маршрутов, использующих промежуточное ПО auth:api
, например:
Route::group(['namespace' => 'Api', 'prefix' => 'api', 'middleware' => 'auth:api', 'throttle:100,1'], function () {
// Route.....
});
Внутри любого контроллера для этих маршрутов Auth :: user () работает нормально и возвращает зарегистрированный пользовательский экземпляр. Пока все хорошо.
Теперь у меня есть другой набор маршрутов, которые публикуются c, поэтому они не используют промежуточное ПО auth:api
. Тем не менее, вошедший в систему пользователь также может получить доступ к этим маршрутам, и на основании этого условия (вне зависимости от того, вошел в систему или нет) я хочу запустить дополнительные logi c. Подводя итог, можно сказать, что страница доступна как зарегистрированным пользователям, так и пользователям c; но если пользователь залогинен, мы запускаем дополнительный лог c. Однако, когда я пытаюсь использовать Auth::user()
, он возвращает ноль, а auth()->check()
возвращает ложь.
Помните, я не могу использовать промежуточное программное обеспечение для аутентификации, поскольку это ограничит доступ пользователей publi c к странице. что не то, что нам нужно.