我有一個註冊表單,它可以註冊並登錄用戶。 我在保護路由的控制器中使用$this->middleware('auth');
來提示用戶登錄。登錄表單傳遞一個POST
請求Laravel的AuthController W /用戶名和密碼:Laravel 5.1用戶登錄不起作用
<input type="hidden" name="_token" value="XXXXXXXXXX">
<div class="widget-content">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<input class="btn btn-blue pull-right" type="submit" />
</div>
</form>
路線:
//authentication routes
Route::get('auth/login', 'Auth\[email protected]');
Route::post('auth/login', 'Auth\[email protected]');
Route::get('auth/logout', 'Auth\[email protected]');
// Registration routes...
Route::get('auth/register', 'Auth\[email protected]');
Route::post('auth/register', 'Auth\[email protected]');
我已經使用了認證系統的現成的,貨架postLogin()
功能嘗試,試圖通過用戶名,姓名,郵件沒有任何運氣。我試圖重寫這樣的父類的方法:
public function postLogin(Request $request)
{
$username = $request->input('username');
$password = $request->input('password');
if (Auth::attempt(['name' => $username, 'password' => $password])) {
// Authentication passed...
return redirect('dashboard');
} else {
return redirect()->intended('auth/login');
}
}
編輯:
(這是舊的,對於有這個問題的人)的正確使用散列函數是
$password = Hash::make('yourPasswordString');
$result = Hash::check('yourPasswordString', $password); //returns true
你收到了什麼錯誤? – Amo
你想讓他們用用戶名而不是電子郵件登錄嗎? – andrewtweber
檢查步驟在這裏看看是否有幫助http://stackoverflow.com/questions/32029689/laravel-5-user-can-not-be-retrieved-after-successful-authentication/32030103#32030103 –