我的auth函数总是在我的UserController函数中返回false,这是我的控制器函数。
public function postSignin(Request $request)
{
$userdata = array(
'email' => $request->input('email'),
'password' => $request->input('password')
);
if (Auth::attempt($userdata))
{
return redirect()->route('user.profile');
}
else
{
return redirect()->back();
}
}
这是我的路线代码
Route::post('/signin', [
'uses' => 'UserController@postSignin' , 'as' => 'user.signin'
]);
当我输入凭据时,身份验证的if
部分无效,我按照其他条件的指示重定向到我的页面...
答案 0 :(得分:1)
您可能将用户密码作为纯文本保存到数据库中,因为当使用Auth::attempt()
函数时,laravel会自动哈希密码进行比较。确保在插入时正确使用bcrypt()
辅助函数散列密码。我能想到的另一个可能性是你确定你输入了正确的密码或用户名吗?
创建新用户时的bcrypt示例:
User::create([
"username" => $username,
"password" => bcrypt($password);
]);
希望这有帮助!