Laravel 数据库会话

Posted

技术标签:

【中文标题】Laravel 数据库会话【英文标题】:Laravel database sessions 【发布时间】:2015-11-26 23:08:28 【问题描述】:

我正在构建一个 Laravel 网站,并且正在使用数据库驱动程序来管理会话。我在数据库中创建了会话表并使用 php artisan 进行了迁移。一切都按预期工作。 我现在真正想做的是检查在线用户的角色,但我不知道如何使用数据库中会话表的字段来获取它。 我真的不明白会话表是如何工作的,因为我看到它在我访问登录页面时注册了一个新行,但是当用户登录和用户退出时它不会改变。 我想要的只是检查应用程序中活跃用户的角色.... 有人可以帮我解决这个问题吗? 谢谢!

【问题讨论】:

角色不在会话表中。 【参考方案1】:

我建议你一个非常简单的方法。只需在您的用户表中添加一个名为“is_online”的字段,默认为 0。当用户登录时,将其更改为1,当他退出时将其更改回0。所以DB::table('users')->where('is_online' , 1)->all()返回在线用户。

【讨论】:

谢谢!!我要做一些与此非常相似的事情,事实上这是我能想到的解决我的要求的最简单的事情。谢谢! @aaleahya 很高兴为您提供帮助! :)

以上是关于Laravel 数据库会话的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 如何在会话 Laravel 中存储额外的数据/值

Laravel 6 会话和 CSRF Coo​​kie 未设置——每次页面加载的会话数据库中的新条目

Laravel:在多个域上共享会话数据

Laravel 4.1 身份验证会话数据不会跨请求持久化

Laravel 5:使用 Laravel 会话数据的 Socket.io 客户端身份验证

使用 Session ID 检查会话是不是处于活动状态 - Laravel