0

ユーザーが HTTP リクエストを送信してファイルをアップロードできる Web アプリケーションを構築しています。ユーザーをサーブレットのログイン ページにリダイレクトする必要があり、認証が成功した場合は、要求を処理する必要があります。これを行うための最良のオプションは何ですか? これが私がやろうと思っていることです:

  1. リクエスト URL と HTTPServletRequest オブジェクトを、特定のリクエスト ID (GUID) を使用してキャッシュ ( JCSなどのメモリ内キャッシュ) に保存します。
  2. リクエスト ID とともにユーザーをログイン ページにリダイレクトします。
  3. ユーザーがログインすると、リクエスト ID もサーブレットに渡されます。
  4. ログインに成功したら、キャッシュから HTTPServletRequest オブジェクトを取得して処理を開始します。

私が読んだ別のオプションはHTTPReferrerを使用することでしたが、これではリクエストパラメーターを取得できません(これは事後操作です)。

私のアプローチは上記のとおりですか?これを処理するより良い方法はありますか?

前もって感謝します!

4

1 に答える 1

0

これを実現する方法の 1 つを次に示します。

Cookie+フィルターアプローチ:

  1. ユーザーからリクエストを受け、
  2. ユーザーがフィルターにログインしているかどうかを確認します (これを行うには、ログインしているユーザーまたは有効なセッション オブジェクトに対して設定している Cookie を確認します)。
  3. ユーザーがログインしていない場合は、ユーザーをログイン ページにリダイレクトし、現在のリクエスト URL で Cookie (名前は redirect ) を設定します。
  4. ユーザーはログインページを見て資格情報を入力し、
  5. サーブレットはログイン要求を受信し、ユーザーを検証します。ログインが正しい場合は、リダイレクト Cookie を確認し、URL を取得し、リダイレクト Cookie を削除して、ユーザーをその URL にリダイレクトします。
于 2013-11-14T07:11:35.543 に答える