私は Laravel 5.4.23 をいじっていましたが、404 ページにヒットしたときにこのシナリオに遭遇しましauth()
た。auth()->check()
auth()->user()
私は AppServiceProvider.php クラスに行っていくつかのテストを行いました。
dd(auth()->check());
boot
ログインしている場合でも、メソッドでNull を返します。これは意味がありません。
つまり、ユーザーが 404 ページにアクセスするたびに、ナビゲーション バーなどはユーザー データをレンダリングしません。たとえば、伝統的に、ここのスタック オーバーフローのように、ナビゲーション バーの右上にユーザー プロファイル ボタンがあります。その場合、Laravel では、この私が見ているものでは不可能です。
私は正しい軌道に乗っていますか、それとも何か不足していますか?
テストしたリクエストを完了した後、Laravelがユーザーをログインさせようとしているようです。
ここで答えが見つかることを願っています。
ありがとう。
アップデート:
boot
App\Providers\AppServiceProviderのメソッドに手動ログイン試行を含めると、aut() コマンドの null 問題が修正されたようですが、明らかに Laravel がログを取得しているため、ページ要求ごとにユーザーを 2 回ログインしようとすることになると思います。ブート後のユーザーでは、例外リクエストがあり、他に何がありますか。