2016-07-22 116 views
1

我的身份验证函数始终在我的UserController函数中返回false,这里是我的控制器函数。PHP Laravel身份验证无法正常工作

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' => '[email protected]' , 'as' => 'user.signin' 
]); 

当我输入凭据,权威性的if部分不工作,我重定向到我的网页被其他条件的指示...

+0

您是否使用过'php artisan make:auth'? –

+0

这可能与用户创建有关。创建用户时是否使用了'Hash :: make()'? – Michel

回答

1

您可能会将您的用户密码保存为纯文本到数据库中,因为使用函数时,laravel会自动对密码进行散列比较。确保在插入时适当地将密码与bcrypt()助手功能混合。我能想到的唯一的另一种可能性是,如果你确定你输入正确的密码或用户名? bcrypt的

例如,创建一个新用户时:

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

希望这有助于!

+0

我在创建用户时使用了bcrypt函数,但仍然无法正常工作。 – tobi

相关问题