【发布时间】:2012-03-12 23:58:03
【问题描述】:
我在 CakePHP 中使用数据库会话,同时将用户 ID 保存在与会话相同的表中。是否有可能以某种方式检测用户会话何时过期,以便我可以更新数据库中的一个字段?
我需要这样,以防用户没有从网站手动注销(只是关闭浏览器或什至不关闭),我可以从表中删除该会话。
【问题讨论】:
-
数据库会话会在一段时间后自动清理,就像常规会话一样。这就是他们超时的意义所在。你到底想在这里手动做什么?
-
嗯,我就是这么想的。我有“1”的超时(在中等安全级别,所以我相信 100 秒超时)。我已经完成了登录,我可以在会话数据库中看到记录。我已经从 MySQL 管理员检查了一段时间(超过 30 分钟),刷新页面并尝试从不同位置使用相同的用户名登录,但该记录尚未删除。在我完成数据库表的刷新后,它终于被删除了。
-
所以我的问题是,会话超时实际上是如何对数据库会话起作用的?究竟是什么触发了从该表中删除记录的事件?它需要访问网站吗?或者它只是在会话到期时发生?
标签: session cakephp session-timeout