2016-03-06 56 views
3

編輯:問題「解決」,我降級到5.1。Laravel 5.2身份驗證總是重定向到登錄頁面(可能會話不持久)

我會見Laravel 5.2一個問題,因爲一個時刻:

  • Laravel的會話(_token)工作,但我的不是,
  • 驗證始終重定向到登錄頁面。

我在網上尋找解決方案,我嘗試了幾個,但都沒有工作。

這裏是我的代碼:

adminController @登錄:

$userdata = array(
    'username' => $request->get('username'), 
    'password' => $request->get('password'), 
); 

if(Auth::validate($userdata)) 
{ 
    if(Auth::attempt($userdata)) { 
     return redirect()->intended('admin-dashboard'); 
    }else{ 
     return redirect('admin-login')->with('error', 'Nom d\'utilisateur ou mot de passe incorrect !'); 
    } 
}else{ 
    return redirect('admin-login')->with('error', 'Nom d\'utilisateur ou mot de passe incorrect !'); 
} 

routes.php文件:

Route::group(['middleware' => 'web'], function() { 

    Route::post('postAdminLogin', ['as' => 'postAdminLogin', 'uses' => '[email protected]']); 

    Route::group(['middleware' => 'auth'], function() { 
     Route::get('admin-dashboard', ['as' => 'admindashboard', 'uses' => '[email protected]']); 
    }); 

}); 

MiddlewareGroups:

protected $middlewareGroups = [ 
    'web' => [ 
     \App\Http\Middleware\EncryptCookies::class, 

     \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 

     \Illuminate\Session\Middleware\StartSession::class, 

     \Illuminate\View\Middleware\ShareErrorsFromSession::class, 

     \App\Http\Middleware\VerifyCsrfToken::class, 

    ], 

    'auth' => [ 
     \App\Http\Middleware\Authenticate::class, 
    ], 

    'api' => [ 
     'throttle:60,1', 
    ], 
]; 

adminController @指數:

public function index(){ 
    if (Auth::check()) { 
    return "ok"; 
    } 
} 

如果你們其中一個能夠幫助我,我將不勝感激。

+0

嘗試用$請求 - >輸入()來代替$請求 - > get()方法?你收到驗證錯誤嗎? –

+0

它顯然是相同的東西。我沒有錯誤(debug = true),如果我刪除我的路由''admin-dashboard'並將其放在「auth」組之外,我會正確重定向但會話不起作用。 –

+0

如果您從5.1升級到5.2,您是否嘗試清除Cookie?當我從另一個測試站點使用cookie時,我經常遇到會話或授權問題(比如說我爲5個站點使用localhost:8000,打開/關閉,這個問題似乎已經發生) –

回答

0

我有一個類似的問題,我的權限未被正確設置爲storate/framework/sessions/(即應用程序無法創建會話文件)。

對於任何有類似問題的人來說,一個通用的解決方法是將您的驅動程序更改爲database。無論如何您運行php artisan make:auth時,artisan自動創建sessions架構。

簡單地改變config/session.php

'driver' => env('SESSION_DRIVER', 'driver'), 
相關問題