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


laravel auth::attempt() gives error when specifying a known username

嗨,我是laravel的新手,正在尝试使用身份验证系统。

我遇到的问题是,当通过auth::attemp((验证用户的用户名和密码时,我会得到一个"哇,出了问题"的页面,但只有在指定了已知用户名的情况下。当我输入一个未知的用户名时,我会得到预期的错误页面。

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

// 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"时,无论密码正确与否,我都会出错。

我的问题是:我做错了什么?以及如何修复?

这是一个非常愚蠢的错误。我编辑了用户模型(app/models/User.php(,这导致了问题。我已经恢复到原来的状态,现在一切都很好!

谢谢你们的帮助!