PHP Laravel auth无法正常工作

时间:2016-07-22 14:07:11

标签: php laravel authentication

我的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部分无效,我按照其他条件的指示重定向到我的页面...

1 个答案:

答案 0 :(得分:1)

您可能将用户密码作为纯文本保存到数据库中,因为当使用Auth::attempt()函数时,laravel会自动哈希密码进行比较。确保在插入时正确使用bcrypt()辅助函数散列密码。我能想到的另一个可能性是你确定你输入了正确的密码或用户名吗?

创建新用户时的bcrypt示例:

User::create([
    "username" => $username,
    "password" => bcrypt($password);
]);

希望这有帮助!