laravel auth :: attempt()在指定已知用户名时出错

时间:2014-05-01 15:34:47

标签: php laravel

嗨,我是laravel的新手并且正在尝试使用auth系统。

我遇到的问题是,当通过auth :: attempt()验证用户的用户名和密码时,我最终会遇到“哎呀出错页面”,但只有在指定了已知的用户名时才会这样做。当我输入一个未知的用户名时,我得到了预期的错误页面。

我通过以下方式创建了一个用户:

// add user
$user = new User;
$user->username = 'John';
$user->password = Hash::make('Doe');
$user->email    = 'info@mail.com';
$user->save();

我为post方法创建的路径如下所示:

Route::post('login', function(){
    $credentials = array(
        'username' => Input::get('username'),
        'password' => Input::get('password')
    );

    // check credentials
    if (Auth::attempt($credentials)) {
        // go to index if login is successful
        return Redirect::to('/');
    }

    // fail
    return Redirect::to('login')->with('error' , 'Wrong username or password');
});

现在正如我所说的那样,如果我指定的用户名不是(在这种情况下)是“John”,则会显示错误消息。何时使用'John'无论密码是正确还是不正确,我都会收到错误。

我的问题:我在这里做错了什么?以及如何解决它?

1 个答案:

答案 0 :(得分:0)

事实证明这是一个非常愚蠢的错误。我编辑了用户模型(app / models / User.php),这导致了问题。我已经恢复原状,现在一切正常!

感谢帮助人员!