亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Auth::check 總是返回 null

Auth::check 總是返回 null

PHP
ITMISS 2022-01-24 09:24:48
我試圖在用戶登錄時顯示一個按鈕。如果用戶沒有登錄,則該按鈕不會出現在頁面上。所以我需要做的第一件事是確定用戶是否登錄。問題是,Auth::check() 一直返回 null。我已經研究過我們應該將路由放在 Auth 中間件中,但是這樣做,用戶必須登錄才能看到頁面,我不希望這樣。我希望用戶能夠在沒有登錄的情況下看到該頁面,并且當他們登錄時,一個按鈕將出現在同一頁面上。零件 <button v-if="showBtnDelete==true" class="btn btn-danger">Delete</button> <script>      getUserType(){            axios.get('api/gallery/getUserType').then(res=>{            this.showBtnDelete = res.data;});        }, </script>控制器public function getUserType(){    if(Auth::check()){        return 'true';    }else{        return 'false';    }}網頁.phpRoute::group(['middleware' => ['auth']],function(){Route::get('/add-image', function () {return view('layouts.master');});});Auth::routes();Route::get('/logout','Auth\LoginController@logout');Route::get('/', function () {return view('home');});Route::get('{path?}', function () {return view('layouts.master');})->where('path', '[\/\w\.-]*');
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

保護 API 或網絡



Auth::guard('api')->check();



Auth::guard('web')->check()


查看完整回答
反對 回復 2022-01-24
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

如果有人有同樣的問題。問題是您的路由不受中間件組 web 的保護。這意味著它將無法檢索當前用戶的會話,因此 Auth 外觀將始終返回 null。將 middleware('web') 添加到訪問方法(代碼)的路由中,如果已登錄,您將能夠檢索當前用戶。


查看完整回答
反對 回復 2022-01-24
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

您將返回'true'并'false'作為字符串返回true,當非嚴格比較和false 嚴格比較時都返回


echo 'false' == true; // true

echo 'false' === true; // false (not same data type)

反之亦然...現在Auth::check() 自然返回一個布爾值,因此 if,else 語句是多余的...

您可以在需要時使用輔助方法來使用每個守衛


public function getUserType()

{

   return auth()->check();

}


查看完整回答
反對 回復 2022-01-24
  • 3 回答
  • 0 關注
  • 397 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號