2016-01-10 36 views
1

我想提出一個重定向用戶進行身份驗證後的HomeController和驗證令牌設置會話在家庭控制器用作 -Session變量在laravel重定向過程中不堅持

控制器1

$secret = Crypt::encrypt($secret); 
    Session::put('secret', $secret); 
    Session::save();  
    return redirect()->action('[email protected]'); 

控制器2 - > homeRedirect

function homeRedirect(){ 
     dd(Session::all()); 
     if(Session::has('secret')){ 
     $secret = Session::get('secret'); 
     Session::forget('secret'); 

這裏轉儲來的是空白數組。沒有進來的會話,但是如果我測試這個dd(Session::all())然後它給出正確的細節。

此外,我試圖使用with('secret', $secret)發送數據,但也返回一個空白會話。

我的session.php文件有以下條目'driver' => 'file',和laravel版本是5.2。

編輯

另外,如果我嘗試這樣的 -

function homeRedirect(Request $request){ 
    $ses = $request->session()->get('secret'); 
    dd($ses); 

然後我得到的錯誤,說明Session store not set on request.

回答

0

當您使用Laravel 5.2,你應該確保你有在網絡中間件中爲您的[email protected]設置路線。

您的路線應該routes.php定義,像這樣

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

    Route::get('/homeredirect','[email protected]'); 
} 

如果它是這樣定義的:

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


} 

Route::get('/homeredirect','[email protected]'); 

它不會工作