2016-11-27 67 views
-1

最后30分钟阅读了关于此的所有帖子在stackoverflow上。找不到解决方案。 这是我的代码:为什么laravel Auth ::尝试不工作

public function PostLogIn(Request $request) 
    { 

     if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) { 

       return redirect()->route('dashboard'); 
      } 
     $status = 'Incorrect details'; 
     return view('login')->with('status',$status); 

    } 

你问之前,我在散列在注册和密码栏保存用户密码,可以接受所有60个字符。我使用标准用户模型,默认名称为电子邮件和密码字段。 的地方阅读,我应该将它添加到用户模型:

public function getAuthPassword() { 
    return $this->UserEmail; 
} 

试过也不起作用。 From正确地发送数据,但由于某种原因,我的身份验证仍然失败。

(我已创建的帖子1.5小时前,想要编辑,但意外删除,对不起谁回答:)的家伙)

+0

做什么'$请求 - > email'和'$ request-> password'包含?他们有你期望他们拥有的东西吗? –

+0

它们包含来自表单输入的数据。是的,我在$ request上做了dd(),它很好! – Michael

+0

尝试删除'getAuthPassword'函数。 –

回答

0

我可以评论还没有,但如果不帮助你,我会删除它。

  1. 确保$request->email带来什么(电子邮件),dd($request->email);

  2. 同为$request->password

  3. 检查$request->password产生相同的散列的一个在DB:

    if (Hash::check($request->password, $hashInDB)) { 
        // The passwords match... 
    } 
    
  4. 最后(实际上这应该先做:P)检查是否e在$request->email邮件是一样的,你已经存储在数据库的一个

PS:不是模型肯定getAuthPassword,你应该尝试做的尝试没有它

相关问题