私はLaravel 5.4.23で遊んでいましたが、auth()
,auth()->check()
,auth()->user()
という404ページをヒットしたときにこのシナリオを遭遇しました。これらは初期化されていないため、その近くのどこでも。例外の場合のauth()メソッドnull
私もいくつかのテスト、私は私には0理にかなって、ログインしていても、boot
方法でのNULL
dd(auth()->check());
リターンを、行うためにAppServiceProvider.phpクラスに行ってきました。
これは、ユーザーが404ページにアクセスするたびに、navbarsなどはユーザーデータをレンダリングしません。伝統的には、ここでのようにnavoverの右上にユーザープロファイルボタンがありますLaravelでは、これは私が見ているものでは不可能です。
私は正しいトラックにいるのですか、何か不足していますか?
Laravelがリクエストを完了した後にユーザーをログインしようとしているように見えます。
希望私はここで答えを見つける。
ありがとうございました。
UPDATE:アプリケーション\プロバイダーでboot
方法で手動ログイン試行を含む
AppServiceProviderはAUT()コマンドでヌル問題を解決するように見えたが、私は、これは、ユーザーがログインしようと考えている\ 1ページあたり2回のリクエストで、明らかにLaravelはブート後にログインしたユーザーを取得しているので、例外リクエストと他には何も知らない。
これはまだAppServiceProviderでAuth :: check()がfalseを返すという問題を解決していませんが、Handlersでは動作しますがappserviceproviderでは動作しません。laravelソースコードを調べて、残りの前にAuthをロードする可能な方法 – Emad
サービスプロバイダの認証ユーザーにしたいのはなぜですか? – Sandeesh
私は本当にそれを必要としません、私はちょうどlaravelのソースコードをハハで混乱したいので、私は物事がどのように動作するかを把握しようとしています、あなたのソリューションは今までのところ、 laravel user here :) – Emad