0

この質問をサポートする最初のコードがないことをお詫びします

20分後にlogged_in_timeoutにauthlogicを設定しました。私がやりたいのは、ユーザー モデルから 'last_request_at' 値を取得する jQuery 関数を作成し、18 分で「ログアウトしようとしています」と警告するタイマーを実行することです。

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

次に、モデル/アラートに「Log Me Out」または「Stay Logged In」の 2 つのボタンを配置したいと思います。

 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ミリ秒)で、この関数は2つのボタンを含むモーダルをアクティブにします。1つはログアウトし、もう1つはログインしたままにします。[ログインしたままにする]ボタンは、モーダルを閉じて親を更新するだけで、Authlogics last_request_atフィールドを更新し、再度発生するまでさらに9分をユーザーに与えます。もちろん、ページが読み込まれるたびにタイマーがリセットされるため、アクティブなユーザーにはモーダルが表示されません。ユーザーが警告モーダルに応答しない場合、Authlogicは1分後(10分)にセッションを終了し、その10秒後(70000)に親ページが更新され、前のページに表示された可能性のあるコンテンツがすべて隠されます。

于 2013-01-15T01:34:20.863 に答える