私はDevise gemを認証に使用しています。私は指定された時間に見たユーザー活動がない場合、ログインページにリダイレクトするためにdeviseのタイムアウト可能な機能を使用しました。この問題は、主にAjaxリクエストが送信され、セッションのタイムアウトが発生したときにUIが応答しなくなります。以下は私の設定です:Userモデルで :レールAJAXリクエストが失敗しても、タイムアウト可能なタイムアウトがページをリロードしない
devise :timeoutable
def timeout_in
if self.role.name == "Admin"
30.minutes
end
end
これは、タイムアウトを行います(ユーザーの活動が見られない場合、セッションは30分後に期限が切れます)。しかし、サインインページを表示するためにページを自動リフレッシュしません。私はセッションが期限切れになっているかどうか、期限が切れている場合は、応答のないUIを避けるために、主にajaxリクエストのためにページをリロードするだけで定期チェックを行うjavascriptを使用しようとしました。しかし、これはどちらもうまくいかない。すべてのヘルプはAJAX要求は401つまり、不正なトークンエラーが発生するたびに、リフレッシュ/ページをリロード..
奇妙な;私はこれを私の目的で実装しようとしました - タイマーを使ってajax pingを実装し、401の戻り値を返したら再描画を行いますが、もちろん接続を維持しています。どのように実装するのがベストかわからない。 – grimmwerks