2017-04-09 83 views
-3

我正在存儲沒有加密的普通密碼,但它在登錄時找不到匹配項。存儲正常密碼(未加密)但登錄失敗 - Laravel 5.4

這裏是我的LoginController

public function login(){ 
    $email = Input::get('email'); 
    $password = Input::get('password'); 

    if (Auth::attempt(['email' => $email, 'password' => $password])) 
    { 
     echo "Login Successful"; 
    }else{ 
     echo "Failed!"; 
    } 
} 

任何想法如何解決?

請注意:請不要告訴我使用加密,我不會將此發送給任何客戶或任何人。

+2

如果你使用默認的嘗試方法,你不能使用加密...所以你要麼使用它或寫自己的登錄, – jycr753

+0

如果我使用我自己的登錄,我可以使用Auth :: check()功能? @ jycr753 –

+0

一個骯髒的黑客將是使用正常的口才比較用戶名和密碼,並且當你得到用戶創建與'§uthuth:: login($ user)的激情'' – jycr753

回答

4

引擎蓋下attempt()方法使用password_verify()檢查輸入的密碼:

password_verify($value, $hashedValue); 

所以,如果你想存儲不是一些瘋狂的原因,加密後的密碼,你需要創建自己的身份驗證系統。但我真的建議你忘記這一點,並使用帶有加密密碼的標準Laravel認證系統。