2017-04-09 85 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认证系统。