2017-04-27 6 views
0

セッションに認証固有のデータを格納しようとしていますが、これはユーザーがログアウトすると破棄されます。認証セッションにデータを格納する方法

私はこれを試してみた:動作しますが、ユーザーがログアウトするか、自動的にログアウトされた後、データを削除しません

if ($didLogin) { 
     // Save the client id in session 
     $request->session()->put('client_id', $input['client_id']); 

     return redirect()->intended('/'); 
    } 

を。

私はドキュメントを読んだことがありますが、これでは明らかではないようですが、ログインプロセスで追加のデータを提供する必要があります。

+0

それを確認することができますが、ユーザがログアウトされたときに、これが動作するかどうか私はわかりません自動的に – Nerea

答えて

0

ログアウト

上のフラッシュユーザセッションは、あなたのコントローラー例えばUserControllerで でこのメソッドを入れて、このメソッドを呼び出し、例えばログアウトボタンのときに、ユーザーがクリックユーザー/ログアウト

我々はSession::flush();を持っているの下に、すべてのセッションデータが..

//User Logout 
public function getLogout() 
{ 
    Session::flush(); 
    $this->auth->logout(); 
    return redirect('/'); 
} 
+0

ユーザが自動的にログアウトしたときにこれをカバーしますか? –

+0

は自動的に意味します... – Komal

+0

私はこの機能をどこに置くのですか?私はあなたがちょうど5つの言葉を掲示するのではなく、ちょっとしたコードを書くのではなく、ちょっと説明的でなければならないように感じます。 –

0

を流し出したので、そのユーザーのログアウト時にあなたは、認証システムを持っているので、ユーザーがログアウトしたいとき、それは次のような方法を打ちます、セッションデータが破壊されます。

public function logout() 
{ 
    Auth::logout(); 
    Session::flush(); 
    return redirect('/login'); 
} 

ここでは、空のclient_idがあります。あなたはLogout`イベント\ `を照らし\認証\イベントのリスナーを作成し、このリスナーにセッションをクリアすることができ、同様

if ($request->session()->has('client_id')) { 
    return 'Data exists'; 
} 
return 'Data does not exists'; 
関連する問題