2016-03-28 7 views
0

Laravelセッションを使用してデータを格納するLaravel 5.2アプリケーションでサブ認証ミドルウェアを作成しました。Lravel 5.2セッション:: forget()とsession :: flush()が動作しない

Laravelセッションにデータを置くことができます しかし、その変数フォームセッションを削除したいときは、ページリダイレクトや他の人がその変数がまだ存在するときにそのリクエストだけを処理します。私のコントローラファイルで

class SubmissionController extends Controller 
{ 
public function login(Request $request){ 
    if($request->session()->has('submission')) return redirect('/submission-directory'); 

    return view('submission.login'); 
} 

public function dologin(Request $request){ 
    if(!$request->get('password') == "reader") return redirect('/submission-directory/login')->withErrors('errors.wrong-password'); 

    Session::put('submission','yes'); 

    $redirect = $request->session()->pull('submission_redirect','/submission-directory'); 
    return redirect($redirect); 
} 

public function index(Request $request){ 

    dump($request->session()->all()); 

    $request->session()->forget('submission'); 

    dump($request->session()->all()); 

    die('coming here'); 
} 
} 

enter image description here

が、私はあなたがセッションがまだある存在できるページをリロード..

enter image description here

お知らせ::私が持っていますWebミドルウェアグループのすべての経路を

0にする

Route.php

Route::group(['middleware' => 'web'], function() { 
    Route::group(['prefix'=>'/submission-directory'],function(){ 
     Route::get('/login','[email protected]'); 

     Route::post('/login',['as'=>'submission.login','uses'=>'[email protected]']); 

     Route::group(['middleware'=>'submission'],function(){ 
     Route::get('/','[email protected]'); 
     }); 
    }); 

答えて

0

コントローラ内でこの

を試してみてください:あなたのアプローチのための

use Session; 

public function index(Request $request) 
{ 
dump(Session::all()); 
Session::forget('submission'); 
print_r((Session::all()); 
die; 
} 
+2

感謝しかし、私はすでにこれを試み、それはあまりにも動作していないことを発見しました。 –

+0

それも動作しません。私にもっと良い結果を与えてください.. –

関連する問題