2014-05-01 42 views
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'時,我最終都會報錯。

我的問題:我在這裏做錯了什麼?以及如何解決它?

+1

你可以做'var_dump($ credentials);'(假設密碼不是祕密的),所以我們可以確認'username'? – Sam

+1

您看到「哎呦出現錯誤的頁面」的原因是因爲您沒有在'config/app.php'中打開調試,將其設置爲true,並且您將更深入地瞭解發生了什麼問題。開發/測試環境應始終將此設置爲true。 – davidnknight

+1

您的'用戶'模型也可能未被設置爲接受用戶名/密碼組合。默認情況下,它是電子郵件/密碼。 –

回答

0

原來是一個非常愚蠢的錯誤。我編輯了用戶模型(app/models/User.php),這是造成這個問題的原因。我已經恢復到原來的一切,現在一切正常!

感謝您的幫助!

相關問題