0

我很抱歉没有任何初始代码来支持这个问题

我在 20 分钟后将 authlogic 设置为 logged_in_timeout。我想做的是构建一个 jQuery 函数,该函数将从我的用户模型中提取“last_request_at”值,然后运行一个计时器,该计时器将在 18 分钟时提醒用户“你即将被注销”。

Can jQuery pull directly from the DB, or should I pass a session to the function?

然后,我想在模型/警报“注销我”或“保持登录”中有两个按钮。

 If the user clicks "Stay Logged In" how would I have jQuery update the last_request_at field in the DB? 
4

1 回答 1

0

我只是使用咖啡脚本来完成这项工作。

   setTimeout (->
    setTimeout (->
      parent.location.reload true
    ), 70000
 $('#inactivity_modal').modal()
   $("#inactivity_modal").bind "hidden", ->
   parent.location.reload true
   ), 540000

在我的应用程序中,用户在上次请求后 10 分钟自动注销。因此,在 9 分钟(54000 毫秒)时,此函数会激活一个包含两个按钮的模式;一个注销,一个保持登录。保持登录按钮只是关闭模式并刷新父级,从而更新 Authlogics last_request_at 字段并给用户另外 9 分钟,直到它再次发生。当然,任何时候页面加载计时器都会重置,因此任何活动用户都不会看到模式。如果用户没有响应警告模式,Authlogic 会在一分钟后(10 分钟)结束他们的会话,然后在 10 秒后(70000)刷新父页面以隐藏前一页上可能可见的任何内容。

于 2013-01-15T01:34:20.863 回答