1

Flexアプリケーションでは、j_security_checkフォーム(一般的な認証手段のようです)で認証し、HTTPPOSTリクエストのパラメーターとしてフィールドを指定する必要がj_usernameあります。j_password私は単純なHTTPServiceを使用してこれを行うつもりです(URLLoaderであることがわかっている他のオプションですが、同じ結果が得られます)。jsessionidPOSTリクエストを送信した後、としてを含む応答を待ちSetCookieます。ただし、htmlページが表示されます。これは、を受け取った後にのみ表示されますjsessionid

HTTPパケットに関して実際にどのように見えるかを次に示します。

  1. [baseurl]/j_security_checkを含むへの私のPOSTリクエストj_usernamej_password
  2. jsessionidを含むHTTPステータス302応答SetCookie
  3. アプリケーションから、前のパケットで受信したを含むGETリクエスト(送信していません!) 。[baseurl]/login.jspjsessionid
  4. ログインに成功したときにWebブラウザで表示する必要があるhtmlページを含むHTTPステータス200応答。

jsessionid認証の手段として、別のSOAPベースのWebサービスで使用する価値が必要です。しかし、私はそれを取得できないようです-Flex HTTPServiceはサイレントに302応答をキャッチし、次のGETを送信します。その後、Cookieはどこにも見つかりません。

..ただし、Cookieは、HTTPServiceインスタンスからこのサーバーへの以降のすべてのリクエストに提供されるため、Flexのどこかに確実にキャッシュされます。

Webサービスで動作するのだろうか。したがって、私の質問:FlexでこのCookieの値を取得するにはどうすればよいですか?

4

1 に答える 1

0

どうやら、HTMLヘッダーを受け取った後setCookie、Flexはそれを結果として生じるHTTPリクエスト(HTTPServiceまたはSOAP)に提供しWebServiceます。私はこれの値を取得する方法を見つけていませんが、setCookieとにかくこの状況は私の場合にはうまくいきます。

更新:これはAdobe Flex JIRAで確認されたバグです:http://bugs.adobe.com/jira/browse/SDK-15049 解像度「延期」

于 2012-06-21T22:56:59.880 に答える