我遇到了用户身份验证问题。我可以创建一个新用户并使用laravel的Hash::make
命令加密所有看似正常工作的密码,请参阅下面的数据库记录:
现在登录脚本。我在$input
上做了一个dump die并确认它有来自其中的登录表单的帖子数据。
代码:
public function CheckLogin()
{
$input = Request::all();
// create our user data for the authentication
$userdata = array(
'Email' => $input['email'],
'Password' => $input['password']
);
// attempt to do the login
if (Auth::attempt($userdata)) {
// if(Auth::attempt(['Email' => $input['email'], 'Password' =>$input['password'], 'ArchivedOn' => null])){
//return redirect()->intended('devices');
return redirect()->intended('devices');
} else {
$err = 'Login Failed Please check credentials and try again.';
return view('welcome', compact('err'));
}
}
Auth::attempt
似乎总是返回false,因为它总是重定向到欢迎页面,并显示我指定的错误消息。
我预见到我错过了一些明显的东西,但我想我会想要一双新眼睛,因为我看不出问题。
答案 0 :(得分:0)
您的用户数据应为: -
$userdata = array(
'Email' => $input['email'],
'password' => $input['password']
);
注意:您需要用小写字母写密码的p字符。您可以使用电子邮件或用户名更改电子邮件,无论您想要什么名称,但密码必须是密码'。
查看this link了解更多详情。