2017-05-24 9 views
0

ユーザーがアプリケーションにログインする際にセッションの情報をセッションに保存します。そのユーザーが自分のアプリケーションからログアウトした後、そのセッションデータを破棄したいのです。ログインしたユーザー情報をセッションに格納し、Laravel 5.4でログアウトした後にデータを破棄します。

Authを使用してLaravel 5.4でこれを実現するにはどうすればよいですか?

+0

なぜカスタマイズする必要がありますか? laravelは既にこの機能を提供しています –

+0

Auth :: Userを使用してログインしたユーザー情報を取得する –

+0

はい私はlaravelがこの機能を提供していることを知っています。しかし、Auth :: Userの代わりにセッション変数にそれらを保存したいと思います。 私は、ユーザーのログイン/ログアウト時にコアphpで行うlaravel 5.4でセッションのアイデアを得たいだけです。 –

答えて

1

Laravelはログインに成功した後にauthenticatedメソッドを呼び出します。ときにユーザーがログイン中にそれらが追加されますように、あなたはここにあなたのセッション情報を追加することができます。

デフォルトlaravelではapp/Http/Controllers/Auth/LoginController.php

protected function authenticated(Request $request, $user) 
{ 
    // Store information in session for user 
} 

に、このメソッドを追加し、ユーザがログアウトすると、すべてのセッション情報をフラッシュします。異なる方法で処理したい場合や変更を加える場合。これをLoginControllerに追加して変更してください。

public function logout(Request $request) 
{ 
    $this->guard()->logout(); 

    $request->session()->flush(); 

    $request->session()->regenerate(); 

    return redirect('/'); 
} 

上記を行うことで、基本的にlaravelの組み込みのメソッドをオーバーライドし、追加の機能を追加します。

+0

簡単なアイデアを与えてくれてありがとう@sandeesh。 –

関連する問題