0

XML + JSON を Android クライアントとブラウザー クライアントに提供する RESTful サービスを構築しました。現在、REST サービスは Cookie ベースの認証を使用しています。ブラウザー クライアント ページは、REST サービスを提供する同じ Web サーバーから提供されるため、Same Origin ポリシー内ですべてが連携します。

ブラウザー アプリを分離し、そのページを REST サービスとは別の Web サーバーから提供したいと考えています。Cross Origin Resource Sharing を使用して、ブラウザーから REST サービスへの XmlHttpRequest 呼び出しを続行できますが、認証がわかりません。

  1. XmlHttpRequest を認証サービスに送信します
  2. REST サーバーは応答に Cookie を設定します。
  3. ブラウザが成功したリクエストを受け取ると、アプリを次のページに移動します
  4. 次のページはログオン ページに設定された Cookie を維持しないため、REST サービスへのすべての XmlHttpRequest 呼び出しは 401 で失敗します。

これに取り組む最善の方法は何ですか?Cookie 認証がうまくいかない場合、この状況では何を使用すればよいですか?

4

1 に答える 1

0

私の提案は、両方のサーバーの前でApacheまたは同様のWebサーバーを実行し、プロキシモジュールを使用することです。そうすれば、すべての呼び出しが同じホストに対して行われるため、Cookieが保持されます。これは、Cookieベースの認証を使用するプロジェクトを含む多くのプロジェクトで機能しました。

于 2012-06-28T20:30:54.137 に答える