簡體   English   中英

php laravel Auth::attempt 返回 false

[英]php laravel Auth::attempt returns false

我正在使用 laravel 6 並通過 Auth 類對我的用戶進行身份驗證。 以下代碼始終返回 false。 什么是問題家伙?

    public function doLogin(Request $request){

    $authenticate = Auth::attempt([
        'email' => $request->input('email'),
        'password' => $request->input('password'),
    ]);

    if ($authenticate) {
        return redirect('/');
    }
}

您需要散列您的密碼 - 通過查看您的評論"password" => "123" - 密碼存儲為純文本。

您可以在User模型中設置 mutator 來自動處理散列,如下所示:

public function setPasswordAttribute(string $password): void
{
    $this->attributes['password'] = Hash::make($password);
}

確保你導入了Illuminate\\Support\\Facades\\Hash;

然后,您可以通過 tinker 添加新用戶或更新現有用戶 - 這應該將純文本密碼轉換為哈希,並且您的身份驗證應該正在驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM