0
嗨,我是laravel的新手,並試圖使用auth系統。laravel auth :: attempt()在指定已知用戶名時給出錯誤
我遇到的問題是,當通過auth :: attemp()驗證用戶的用戶名和密碼時,我最終發現'whoops出錯頁面',但只有當有一個已知的用戶名被指定時。當我輸入一個未知的用戶名時,我得到了預期的錯誤頁面。
我已經創建了一個用戶:
// add user
$user = new User;
$user->username = 'John';
$user->password = Hash::make('Doe');
$user->email = '[email protected]';
$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'時,我最終都會報錯。
我的問題:我在這裏做錯了什麼?以及如何解決它?
你可以做'var_dump($ credentials);'(假設密碼不是祕密的),所以我們可以確認'username'? – Sam
您看到「哎呦出現錯誤的頁面」的原因是因爲您沒有在'config/app.php'中打開調試,將其設置爲true,並且您將更深入地瞭解發生了什麼問題。開發/測試環境應始終將此設置爲true。 – davidnknight
您的'用戶'模型也可能未被設置爲接受用戶名/密碼組合。默認情況下,它是電子郵件/密碼。 –