3

Spring Security を使用してユーザー ログインなどを処理する Grails ベースの Web アプリを使用しています。

アプリケーションには、インスタント メッセージング機能を提供するためにユーザーからユーザーに送信できるメッセージの概念があります。新しい受信メッセージをユーザーに警告するために使用される、システム全体に存在する時間指定された Ajax 呼び出しがあります。

私の問題は、これを実装したため、ajax 呼び出しが実行されるたびに、もちろんユーザー セッションが更新されるため、タイムアウトしないことです。したがって、手動の「ログアウト」がログアウトできる唯一の方法ですが、セッションの有効期限が切れる前にログイン ページにリダイレクトされます。

タイマーが機能している間に自動ログアウトを行う方法を知っている人はいますか?

春のセキュリティで何らかのフィルターを設定できることを望んでいます。または、定期的に呼び出されるメソッドで使用して、ユーザーセッションを更新しないように指示できる注釈があるかもしれません。

いつものように、ヘルプとコメントは大歓迎です。

4

1 に答える 1

2

コメントで私を別の方向に向けてくれた Long に感謝します。今では、はるかに優れた、より直感的なユーザー フレンドリーなソリューションを手に入れたと思います。

バックエンドで何かを変更しようとするのではなく、非常に簡単に構成でき、すでに jQuery と jQuery UI を使用しているアプリに完全に適合する小さな jQuery スクリプトを使用しています。

特定の期間が経過すると、jQuery ダイアログがポップアップし、背景がモーダルに暗くなり、非アクティブなためにまもなくログアウトされることがユーザーに通知されます。プログレス バーが表示され、ユーザーが [作業を続行] ボタンをクリックしていない場合は空になるまで減少し、ウィンドウの場所をスプリング セキュリティ ログアウト コントローラーの URL に変更して、サインイン ページに戻ります。 . それは美しく機能し、構成が非常に簡単です。

手順はこちらにあります: http://kenbrowning.blogspot.co.uk/2010/04/are-you-still-there.html

Ken Browning のライブラリに感謝します。

于 2012-06-07T11:43:33.103 に答える