第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Laravel 5.4 中的用戶認(rèn)證為什么一定要 使用 save 方法后才可以加為認(rèn)證用戶?

Laravel 5.4 中的用戶認(rèn)證為什么一定要 使用 save 方法后才可以加為認(rèn)證用戶?

PHP
收到一只叮咚 2019-03-16 18:38:25
我在用Laravel寫一個小東西,我判斷用戶名及密碼無誤后直接實例一個用戶對象并且為這個對象賦值一些屬性。 但是這個位置必須要使用 save 方法后在數(shù)據(jù)庫中新增一條數(shù)據(jù)后才可以使用 Auth::login 方法認(rèn)證,否則一直認(rèn)證不了,請問為什么?
查看完整描述

3 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

當(dāng)你的 User 模型在數(shù)據(jù)庫中不存在時,使用 Auth::login($user) 認(rèn)證的用戶,只能在本次請求中生效。

下次請求時,你使用 Auth::user() 等方法獲取已認(rèn)證的用戶,將返回

因為 laravle 在使用 Auth::user() 等方法獲取已認(rèn)證用戶時,用兩種可能:

  1. 會在 session 驅(qū)動中獲取已認(rèn)證的用戶 ID
  2. 通過當(dāng)前請求的 cookie 中,獲取用戶 ID

無論是那種方式,都要通過數(shù)據(jù)庫查詢該用戶 ID,把查到的用戶信息設(shè)置到當(dāng)前會話中。所以你不保存用戶信息到數(shù)據(jù)庫時,使用 Auth::login($user) 認(rèn)證的用戶,只能在本次請求中生效。

//默認(rèn)使用的\Illuminate\Auth\SessionGuard

//獲取已認(rèn)證用戶
public function user()
{
    //從session驅(qū)動獲取已認(rèn)證用戶ID
    $id = $this->session->get($this->getName());
    $user = null;

    if (! is_null($id)) {
        //根據(jù)ID查詢用戶信息
        if ($user = $this->provider->retrieveById($id)) {
            $this->fireAuthenticatedEvent($user);
        }
    }
    //從cookie中解析用戶token + id,并查詢用戶 (略)
    return $this->user = $user;
}
查看完整回答
反對 回復(fù) 2019-03-18
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗 獲得超9個贊

save()是用指定的模型向數(shù)據(jù)庫添加數(shù)據(jù),Auth::login會需要去數(shù)據(jù)庫找數(shù)據(jù)來比對,數(shù)據(jù)庫沒有數(shù)據(jù)怎么比對呢。。。

查看完整回答
反對 回復(fù) 2019-03-18
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊

你沒看文檔吧,ORM的添加和更新模型

查看完整回答
反對 回復(fù) 2019-03-18
  • 3 回答
  • 0 關(guān)注
  • 496 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號