嗨,我是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(,这导致了问题。我已经恢复到原来的状态,现在一切都很好!
谢谢你们的帮助!