0
我有這樣的代碼:爲什麼驗證::嘗試總是返回false在Laravel 5.1
public function postLogin(Request $request) {
if(Auth::attempt(['username' => $request->username, 'password' => $request->password]))
{
return redirect()->intended('users/dashboards');
}else{
return redirect('/')->withInput()->with('message', 'Login Failed');
}
}
這裏是我的控制器:
Route::get('/', ['as' => 'home', 'uses' => '[email protected]']);
Route::post('post-login', ['as' => 'post_login', 'uses' => '[email protected]']);
Route::group(['middleware' => 'auth', 'prefix' => 'user'], function(){
Route::get('dashboards', ['as' => 'dashboards', 'uses' => '[email protected]']);
});
我不知道爲什麼它總是返回false。我正在測試用戶是否通過身份驗證。如果我使用Auth::check()
它返回false
但如果我使用Auth::guests
它返回true
。我對中間件太困惑了。有人能幫助我嗎?
也許你提供不正確的憑據所有的時間更換return語句。您是否在驗證失敗時檢查用戶名和密碼的值?另外,什麼讓你困惑中間件?它的工作方式或爲什麼存在? – Mjh
沒有即時通訊提供與我的數據庫中的良好憑據,但仍然沒有運氣。而且我的密碼不是'哈希' – aldrin27
我們沒有足夠的信息來幫助你。因此,您在數據庫中擁有非哈希密碼,您提供了「正確」憑據(根據您的情況),但是 - 您意識到Laravel的'Auth'使用哈希密碼? – Mjh