Auth :: attempt()不返回任何内容

时间:2014-07-30 21:52:09

标签: authentication laravel-4

我正在使用laravel 4。 这是我的播种机

User::create(array(
        'name'     => 'Rubber Gajulu',
        'username' => 'awesome',
        'email'    => 'awesome@awe.com',
        'password' => Hash::make('awesome'),
    ));

这就是我测试Auth :: attempt()函数的地方

Route::get('testlogin',function(){

$userdata = ['email'=> 'awesome@awe.com','password'=> 'awesome'];

echo Auth::attempt($userdata);

if (Auth::attempt($userdata))
    echo 'SUCCESS!';
else
    echo 'FAILURE!';
});

它只是返回FAILURE。第一个回声不会返回任何内容。

3 个答案:

答案 0 :(得分:0)

您的控制器代码错误。它应该是这样的:

Route::get('testlogin',function(){

$userdata = ['email'=> 'awesome@awe.com','password'=> 'awesome'];

if (Auth::attempt($userdata))
    echo 'SUCCESS!';
else
    echo 'FAILURE!';
});

否则,在您当前的代码中,您尝试登录用户两次,因此第二次失败。

答案 1 :(得分:0)

检查logs / laravel.log是否显示有关点击此网址的任何错误。

分享。

答案 2 :(得分:0)

好的,我发现了我的错误 感谢Isabell Knauers answer

我的模特

$table->string('password',32)

数据被截断为32个字符。现在我把它改成了

$table->string('password',100) 

一切都按预期工作