2

現在、セッションを介してクライアントを認識する RESTful Web サービスがあります。

RESTful Web サービスのコンテンツにアクセスするために ajax/javascript を使用するクライアントがあります。ヘッダーを使用してリクエストに応答することで、これを可能にします: Access-Control-Allow-OriginAccess-Control-Allow-CredentialsAccess-Control-Allow-Methods.

ただし、クライアントはコンテンツにアクセスできますが、Cookie はドメインを越えて使用できないため、各リクエストは別のセッションと見なされます。

このスタイルのクライアントに特に対応するためにサーバーコードを変更したくありません。セッションを使用するファサードを提供するために、クライアント側での作業を希望します。

私はセッションを通じて何も保存したくないので、クライアント識別子として jsessionid のみを使用し&jsessionid=ます。少なくともサーバー側から URL に人為的に挿入して、クライアントが正しく追跡しているように見えるようにすることができると想定しました。セッションの。

これは機能していないようです-クライアントが同じセッションIDを使用しているかのように動作させる方法について、誰かがアドバイスできますか?

4

2 に答える 2

2

... URLに&jsessionid=を人為的に挿入できると思いました...

jsessionidクエリ文字列パラメータではありません。;jsessionid=...ではなく、(URL内の任意の&の前に)人為的に追加する必要があります&jsessionid=...

于 2012-04-27T15:54:37.497 に答える
0

背景として...クロスドメイン通信を可能にし、コンテンツ管理のためにページ上の保存をシミュレートするkitgui.comという製品を作成しましたが、実際にはiframeを介して安全なサーバーとクロスドメインで通信しています。

サーバー コードを変更する必要はありません。IE8未満のサポートが必要ないと仮定して、iframe + postMessageを使用できます。他の最新のブラウザはすべてそれをサポートしています。下位ブラウザ向けの iframe ポーリング手法もあります。非 SSL のクエリ文字列でセッション ID を公開する必要もありません。iframe と通信して、javascript を介してログインしているかどうかの状態を取得できます。セッション情報は、本来あるべき iframe のドメインに残ります。

このリンクはあなたを助けることができます-> http://benalman.com/projects/jquery-postmessage-plugin/

于 2012-04-27T15:28:39.380 に答える