laravel - 如何从 Laravel 的特定会话中注销用户?
问题描述
我正在尝试实现用户登录历史记录并允许用户从特定设备注销
我根据laravel 文档使用SESSION_DRIVER=database
并sessions
在数据库中有表
我有user_logins
以下结构的表:
会话 ID |用户 ID | ip_address | 用户代理 | 浏览器名称 | 位置 | 登录名 | 活跃
我完全能够user_logins
使用UserEventSubscriber handleUserLogin
函数将上述信息存储在表中
现在我想从特定设备上注销用户,该怎么做?
我可以从user_logins
表中删除条目ip_address
,user_agent
但我也想从特定设备上注销该用户。
任何人请帮我解决这个问题。
解决方案
将此方法放在您的控制器中并设置合适的路线来执行
public function removeSession($id){
\Session::getHandler()->destroy($id);
return redirect()->back();
}
推荐阅读
- kubernetes - Kubeclt 错误(v1.14 到 v1.16):从 v1.14 迁移到 v1.16 时出错
- c# - c# - 最初加载到表单中时如何处理多种位图格式?
- laravel - 是否可以建立运行时数据库连接并在模式、数据库和模型中使用它而不影响配置?
- ios - 无法读取 JSON 数据
- javascript - 如何将 url 时间字符串输出为文本而不是视频?
- flask - 使用 nginx 和 uwsgi 在 AWS ECS 上扩展烧瓶应用程序
- c++ - 控制到达非空函数的结尾 [-Wreturn-type]
- java - 如何对数组进行排序并显示?
- c# - 从书中复制 C# 代码(C# .0 for dummy),无法获得预期的结果
- java - 在 Valid Anagram 程序中未通过所有测试用例