0

私は次のケースを処理しようとしています。私はウェブアプリの世界に慣れていないので、私の無知を許してください(もしあれば):

仮定/制約:

  1. 私は Web アプリのコード ベースをまったく制御できません。
  2. 認証は http プロキシ レベルで処理されます。

シナリオ:

  1. ユーザーは SAML を使用して Web アプリで認証され、かなり長い間 Web アプリにアクセスしています。
  2. 彼の認証トークン (または Cookie) の有効期限が切れます。
  3. 彼はフォームを送信します (HTTP POST)。
  4. サーバーは、HTTP リダイレクトを必要とする認証ワークフローを再度実行する必要があります。

ここでの要件は、認証ワークフローを完了した後、ユーザーに対して自動的に元の HTTP POST を再送信することです。私が考えることができるいくつかのオプションは次のとおりです。

  1. JavaScript インジェクションを使用して、ブラウザの sessionStorage に POST 状態を保存し、認証ワークフローの完了後に rePOST を実行します。しかし、元の POST が XMLHttpRequest を使用して行われた場合、これがどのように機能するかわかりませんでした???
  2. サーバー (またはプロキシ) 側に POST 状態を保存し、内部で rePOST を実行して、結果をブラウザーに返します。

他のオプションはありますか??? サーバー側で状態を保存することを回避できれば素晴らしいことです。人々は通常、そのようなシナリオをどのように処理しますか?

ティア、

プラディ

4

1 に答える 1

0

通常、2 番目のアプローチが実装されます。

アプリケーションを実行しているサーバーにリクエストを送信すると、サーバーは POST データを保持し (実際には認証を行うとこれが行われます)、認証のために送信され、リダイレクトされてデータが再度 POST されます。この機能は認証インフラストラクチャに既に存在している可能性があり、有効にする必要があるだけですが、もちろん実行しているものによって異なります。

この機能は、「POST データ保存」と呼ばれることもあります。

于 2014-03-26T12:33:21.483 に答える