2017-04-16 69 views
0

我練手動身份在Laravel學習之用,沿laracasts.com以下這裏閱讀本手冊的用戶認證相關的文件 - https://laravel.com/docs/5.4/authentication#authenticating-users如何登錄Laravel的用戶?

我的登錄控制器的代碼如下:

public function loginSubmit() { 
    $email = request('email'); 
    $password = request('password'); 

    if (Auth::attempt(['email' => $email, 'password' => $password])) { 
    return 'logged in'; 
    } else { 
    return 'not logged in'; 
    } 

儘管密碼未被散列,我正在使用帶有正確電子郵件和密碼信息的Auth :: attempt,但無法返回「已登錄」。我如何使登錄與Auth :: attempt一起工作?

回答

2

您需要散列密碼

use Illuminate\Support\Facades\Hash; 

$密碼=哈希::化妝($請求 - >密碼);

0

絕對有沒有代碼錯誤嘗試函數散列密碼。你不必散列它。嘗試做同樣的過程,而不要求你的web.phproutes.php取決於你的laravel版本。如果您可以登錄,那麼您可以在某處覆蓋嘗試功能,或者數據無法正確傳送到您的控制器,如果您無法登錄,那麼您輸入的密碼錯誤。

if (Auth::attempt(['email' => 'your-email', 'password' => 'your-password' ])) { 
    dd('logged in'); 
    } else { 
    dd('not logged in'); 
    }