首页 > 解决方案 > 是否可以在 CakePHP 3 的会话表中保存附加数据?

问题描述

我需要在 CakePHP 3 中完成以下任务:

我正在使用数据库会话来实现这一点。是否可以在会话表中保存其他数据?如果是的话,你能给我一个例子吗?

标签: databasesessioncakephplimitlogout

解决方案


会话数据库模型与所有其他模型一样是蛋糕模型,这意味着您可以通过向该表添加新列和/或在需要时删除会话以同样的方式与之交互。使用模型对象更新该表中的删除实体(我假设您正在谈论 cakephp 3.x)

将会话数限制为每个用户一个可能会很棘手,因为即使用户未登录也会创建会话。因此,您的数据库中也会有“无用户”会话。

解决此问题的建议方法

  • 当用户登录时,获取当前会话 ID 并在会话表中找到需要更新以包含用户名的行

  • 此时您可能还想删除具有相同用户名的其他行,从而有效地破坏该用户的所有其他会话。


推荐阅读