如何从Laravel中的特定会话注销用户?

时间:2019-07-03 06:07:00

标签: laravel session authentication logout laravel-5.7

我正在尝试实现,用户登录历史记录,并允许用户从特定设备注销

我正在使用SESSION_DRIVER=database并在数据库中拥有sessions表 按照laravel documentation

enter image description here

我有user_logins表,其结构如下:

  

session_id | user_id | ip_address | user_agent | browser_name |   位置| login_at | is_active

我成功使用UserEventSubscriber user_logins函数完全能够将以上信息存储在表handleUserLogin

现在我要从特定设备注销用户,该怎么做?

我可以使用user_loginsip_addressuser_agent表中删除条目,但我也想从特定设备注销该用户。

任何人请帮助我解决这个问题。

2 个答案:

答案 0 :(得分:0)

将此方法放入您的控制器并设置合适的执行路径

public function removeSession($id){
    \Session::getHandler()->destroy($id);
    return redirect()->back();
}

答案 1 :(得分:0)

  

公共函数authLogoutForOccGolf(Request $ request){         $ request-> session()-> flush();返回redirect('/'); }