laravel - 如何从 Laravel 的特定 session 中注销用户?

标签 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 | location | login_at | is_active

我完全能够使用UserEventSubscriber将上述信息存储在表user_loginshandleUserLogin函数

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

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

谁能帮我解决这个问题。

最佳答案

将此方法放入您的 Controller 中并设置合适的执行路径

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

关于laravel - 如何从 Laravel 的特定 session 中注销用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56863876/

相关文章:

php - Laravel 5.1 将 Eloquent 关系应用于模型会引发 Tinker 中未找到的类

php - Laravel:使用 foreach 时获取 session ID 奇怪地截断

php - 带下一个/上一个按钮的下拉菜单 php

session - playframework 过滤器中的 Http.Context

ios - 您能否删除 iOS 移动设备上安装程序用户代理(不同于 Safari)使用的 cookie?

laravel - 如果未找到模型,则转到下一条匹配路线

php - Laravel 改变外键约束

javascript - 如何使用get发送数据而不在url中显示参数?

适用于 Web 和移动应用程序的 Azure AD 与 Azure AD B2C

php - Yii2 注销管理部分无法正常工作