如何检索注销时间

时间:2011-02-21 13:07:07

标签: php session authentication cakephp logout

我用简单的用户身份验证构建了一个简单的cakephp应用程序。有用。当用户长时间闲置时,我遇到问题,应用程序会注销用户。用户应该回过头来对应用程序执行操作。

我的问题是无论如何我可以节省用户退出的时间。

我感谢任何帮助。

感谢。

4 个答案:

答案 0 :(得分:0)

在您的服务器/应用程序上,将有一个配置设置,用于定义用户注销之后的空闲时间跨度。凭借这种知识(我相信你知道在哪里看),你能够得到以下

$time_span_to_logout_user = 600; // example 10 minutes

每次用户登录并请求您的某个网站页面时,您只需将此时间戳存储到数据库中。

要了解loggout时间,您只需从数据库中获取此时间戳并添加$time_span_to_logout_user - >这是用户登录时间。

答案 1 :(得分:0)

您可以在app / config / core.php上设置它:

Configure::write('Session.timeout', '120');

Documentation解释此变量取决于安全级别。

答案 2 :(得分:0)

伊万卡,

Thariama所写的内容似乎非常合理。然而,如果您需要该功能向其他人显示用户状态,那么您必须使用cron作业和蛋糕壳。

你需要:

  1. Thariama对时间戳的建议
  2. 蛋糕外壳+ cron作业遍历每个登录用户。 NOW - lastActionTimeStamp> maxIdleTime,记录用户输出并保留时间戳。
  3. 添加第二个点的好处是其他用户不会将已注销的一个视为现有/活动,因为如果您坚持使用1.可能就是这种情况。

    根据用户群的大小,您可以设置检查间隔。 另一种方法可能是实现某种类型的客户端计时器(JS / AJAX)触发注销,这可能是不可靠的,但应该更容易实现。

    我的2美分。

答案 3 :(得分:0)

是的,编写自己的session handler并使用gc记录时间并销毁fns