如何在身份验证会话中存储数据

时间:2017-04-27 07:50:49

标签: php laravel authentication

我正在尝试在会话中存储一些身份验证特定数据,一旦用户注销就会被销毁。

我试过这个:

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

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

哪个有效,但在用户注销或自动注销后不会删除数据。

我已经阅读了文档,但似乎并不清楚,我只需要在登录过程中提供一些额外的数据。

2 个答案:

答案 0 :(得分:0)

在注销时刷新用户会话

将此方法放在您的控制器中,例如UserController 当用户点击退出按钮时调用此方法,例如用户/注销

因此,在用户注销时,所有会话数据都被清除了..

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

答案 1 :(得分:0)

您拥有身份验证系统,因此当用户想要注销时会遇到以下方法,下面我们有Session::flush();,这会破坏会话数据。

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

现在你有一个空的client_id。你可以检查一下,

if ($request->session()->has('client_id')) {
    return 'Data exists';
}
return 'Data does not exists';