無法在專案中保持登錄狀態,
這是我在 appserviceprovider.php 中的代碼,
Auth::loginUsingId(18876 ,true);
是真的,登錄并獲取,
dd(auth()->user()->id);
我的輸出,
^ 18876
這張照片,

并且我在網站用戶中的匯出已登錄,
如果對此發表評論
Auth::loginUsingId(18876 ,true);
并寫入 dd(auth()->user()->id);
并檢查用戶是否登錄
if (Auth::check()) {
dd(1);
} else {
dd(2);
}
輸出

uj5u.com熱心網友回復:
Laravel 會話在中間件中初始化,因此您無法從服務提供者訪問會話,因為它們在請求生命周期中在中間件之前執行
您應該使用中間件從會話中共享您的變數
但是,如果出于其他原因您想在服務提供者中執行此操作,您可以使用帶有回呼的視圖撰寫器來執行此操作,如下所示:
public function boot()
{
//compose all the views....
view()->composer('*', function ($view)
{
auth()->user();
});
}
只有在實際組合視圖時才會執行回呼,因此中間件已經執行并且會話將可用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/440222.html
上一篇:如何在laravel中寫一個wherenotin查詢?
下一篇:碳日期在資料庫中保存為字串
