0

クライアント側のアプリケーションに GWT を使用しています。サーバーに GWT/Java を使用していません。ただし、セッション管理をどのように処理できるかわかりません。GWT アプリケーションは 1 つのページに存在し、すべてのサーバー呼び出しは AJAX 経由で行われます。サーバーでセッションの有効期限が切れた場合...ユーザーがブラウザーを閉じずにアプリケーションを開いたままにしたとします。サーバーは、セッションの有効期限が切れたことと、クライアント側の部分にログイン画面を表示する必要があることをアプリケーションに通知するにはどうすればよいでしょうかまた?

クライアント側のセッション管理とは何を意味しますか? それは本質的に安全ではないようです。

私はコードを探していません。私はアイデア、テクニック、潜在的な解決策などを探しています。Comet http://en.wikipedia.org/wiki/Comet_(programming)を検討しましたが、Java を使用しないとうまく機能しないようです。サーバー側で。たぶん私は間違っています?私もサーバーをポーリングしたくありません。

考えや洞察はありますか?

4

3 に答える 3

1

サーバーがログイン画面にリダイレクトを送り返したとき (Ajax 呼び出しへの応答を介して送信される) を検出することで、アプリケーションでこれを処理し、ユーザーにパスワードを再入力するよう求めるダイアログをポップアップ表示しましたが、事前に入力されています。ユーザー名。次に、それをログイン ページと同じ場所に、あたかもログイン ページであるかのように投稿したため、ユーザーはこの新しいセッションに自動的にログインしました。最後に、ajax 呼び出しを再送信しただけなので、ユーザーにとってシームレスなプロセスでした (例: アクションを再度クリックする必要はありませんでした)。

セッション変数ではなくクライアントにすべての状態を保存したため、セッション間でデータを保持しようとしても問題はありませんでした。

于 2008-12-01T23:59:12.660 に答える
1

RPC がどのように機能しているかを知らなければ、適切なアドバイスを与えることは困難です。

AJAX サービスでユーザーの認証が必要な場合 (IE に有効なセッションがある場合)、ユーザーが無効であることを示す 401 エラーを送信するだけでかまいません。クライアント側は、401 エラーを、ユーザーの再認証を設定する必要があるというメッセージとして解釈できます。

于 2008-12-01T22:40:19.747 に答える
0

サーバー側でセッションの有効期限が切れた場合、次にクライアントがサーバーにリクエストを送信したときに、新しいセッションが作成されるか、クライアントに試行中のメッセージが返される可能性があります。セッションなしでページにアクセスし、ログイン画面に送信します。ただし、クライアントがサーバーにメッセージを送信するまで待つ必要があります。

于 2008-12-01T21:46:55.920 に答える