0

ユーザーがサーバーにリクエストを送信しなくても、セッションがタイムアウトしたときにすぐにユーザーをログイン ページにリダイレクトしたいと考えています。1. これを処理するために web.xml または context.xml に配置できる構成タグはありますか? /loginPage 2 のようなものです。そうでない場合、Tomcat にこれがある理由はありますか? それはどの契約を破りますか?3. tomcat、jaas、および gwt を使用してこれを達成する方法はありますか?

HttpSessionListener を使用してみましたが、Session オブジェクトからユーザーにリダイレクトを送信できない (方法がわからない) ため、機能しません。フィルターを使用してみましたが、フィルターは要求が行われたときにのみ呼び出されます。

私はユーザー認証と Web にかなり慣れていないので、質問を正しく構成し、用語を乱用していないことを願っています。前もって感謝します。

4

2 に答える 2

0

このハッキーなアプローチを試すことができます。これは、セッションが閉じられているユーザーに対して起動された最初のアプリの非同期コールバックの失敗に依存しています

サーバーでセッションがタイムアウトすると、ユーザーのすべての非同期呼び出しに対して常に例外が返されます。GWT 非同期コールバック (アプリ内のすべての非同期コールバック) の失敗ブロックでキャッチし、Window および Navigator クラス ( com.google.gwt.user.client パッケージ) を使用して GWT コードからアプリをリダイレクトできます。

于 2012-12-12T03:32:02.040 に答える
0

基本的に、標準の HTTP プロトコルを使用している場合、サーバーは通信を開始できません。ロングポーリングまたはサーバープッシュのいくつかの手法を使用して、これをハッキングすることができます。GWT を使用している場合は、Erraiフレームワークを調べることをお勧めします。新しいことを学ぶには多くのオーバーヘッドがかかりますが、Errai バスを使用してサーバー側からユーザーに通知できるようになります。

于 2012-12-12T01:39:49.790 に答える