Session 从cakephp 3会话表中提取数据

Session 从cakephp 3会话表中提取数据,session,cakephp,cakephp-3.0,Session,Cakephp,Cakephp 3.0,我在CakePHP 3应用程序中使用,因为我希望在站点的管理面板中显示在线员工(用户)列表 我想检索已登录员工(用户)的会话信息(至少是用户id),以便在列表中显示他们的详细信息。 会话表的数据列包含会话信息,但我不知道如何从中提取特定信息。我想从它的身份验证信息。它包含以某种方式与会话密钥连接的序列化数据 数据样本 配置a:1:{s:4:“时间”;i:1457067440;}Flash{a:1:{s:4:“授权”;a:1:{i:0;a:4:{s:7:“消息”;s:52:“Woopsie, 您无

我在CakePHP 3应用程序中使用,因为我希望在站点的管理面板中显示在线员工(用户)列表

我想检索已登录员工(用户)的会话信息(至少是用户id),以便在列表中显示他们的详细信息。 会话表的数据列包含会话信息,但我不知道如何从中提取特定信息。我想从它的身份验证信息。它包含以某种方式与会话密钥连接的序列化数据

数据样本

配置a:1:{s:4:“时间”;i:1457067440;}Flash{a:1:{s:4:“授权”;a:1:{i:0;a:4:{s:7:“消息”;s:52:“Woopsie, 您无权访问该文件 区域。“s:3:“键”;s:4:“身份验证”;s:7:“元素”;s:13:“闪存/默认”;s:6:“参数”;a:1:{s:5:“类”;s:5:“错误”;}}}}}}}}}}注册器| id | i:2;注册官姓名:10:“Gaurav 马赫查”;未读站点更新ID:1:“1”


有谁能告诉我如何以最佳方式实现这一点。

我不知道会话数据库是否是实现该功能的最佳场所。也许你可以用点别的

只要大声想一想,也许一个登录的用户可以在每次请求时更新某种标志。用JS也可以每X分钟做一次。这样,您可以过滤掉“旧”标志并显示新的标志,这些标志应该会显示当前的活动用户


可能有更好的方法可以做到这一点,但我认为使用会话数据库不是最好的方法。

你是指这样的方法吗?(披露:我写了答案)会话数据是由PHP序列化的。尝试使用取消序列化。也就是说,会话表中有记录并不意味着用户实际上已经登录。他本可以关闭浏览器窗口,在垃圾收集运行之前,会话记录不会被清除。谷歌还提供了@sevlor,谢谢你的回答。我已经读过了,但我认为使用数据库会话会给我带来更好的性能。谢谢@ADmad。是的,我知道。我尝试过,但找不到任何解决方案来获取登录用户的准确(实时)数据。有什么建议吗?是的@Eber这不是获得准确数据的最佳方式。我仍然在寻找一个更好的选择,它可以在不影响性能和资源使用的情况下提供所需的结果。