使用auth ::在laravel 5.4中尝试的密码错误

时间:2017-10-27 01:30:00

标签: laravel laravel-5 laravel-5.4

抱歉英语不好。

我尝试在laravel中使用auth :: attempt登录,但返回的密码总是错误。

我的密码是

12345

这是我的代码:

  if ($validator->fails())
    {
        $result = array('msg' => 'Username tidak tersedia !');
    }
    else
    {
        if (Auth::attempt(['username' => $request->username, 'password' => $request->password]))
        {
            $result = array('msg' => 'success');
        }
        else
        {
            $result = array('msg' => 'Password tidak benar, silakan ulangi !');//wrong password
        }
    }
    //return message to view
    echo json_encode($result);

auth :: attempt的格式是什么?它是哈希吗?

2 个答案:

答案 0 :(得分:0)

Laravel没有使用'用户名'默认情况下。 auth :: attempt方法查找与用户关联的电子邮件地址。

  

除非你定制了它。

正确的解决方案是

if (Auth::attempt(['email' => $request->email, 'password' => $request->password]))
{
  $result = array('msg' => 'success');
}
else
{
  $result = array('msg' => 'Password tidak benar, silakan ulangi !');//wrong password
}
  

您需要更新表单以通过电子邮件地址发布

答案 1 :(得分:-1)

if (Auth::attempt(['username' => $request->input('username'), 'password' => $request->input('password')])) {
        // Authentication passed...
        $result = array('msg' => 'success');
}
$result = array('msg' => 'Password tidak benar, silakan ulangi !');//wrong password

注意 我从表单中获取用户名和密码,表单在提交表单时通过发布请求提交我在控制器中调用函数来记录用户。

希望这对你的问题有帮助。