Flexアプリケーションでは、j_security_checkフォーム(一般的な認証手段のようです)で認証し、HTTPPOSTリクエストのパラメーターとしてフィールドを指定する必要がj_username
あります。j_password
私は単純なHTTPServiceを使用してこれを行うつもりです(URLLoaderであることがわかっている他のオプションですが、同じ結果が得られます)。jsessionid
POSTリクエストを送信した後、としてを含む応答を待ちSetCookie
ます。ただし、htmlページが表示されます。これは、を受け取った後にのみ表示されますjsessionid
。
HTTPパケットに関して実際にどのように見えるかを次に示します。
[baseurl]/j_security_check
を含むへの私のPOSTリクエストj_username
とj_password
jsessionid
を含むHTTPステータス302応答SetCookie
- アプリケーションから、前のパケットで受信したを含むGETリクエスト(送信していません!) 。
[baseurl]/login.jsp
jsessionid
- ログインに成功したときにWebブラウザで表示する必要があるhtmlページを含むHTTPステータス200応答。
jsessionid
認証の手段として、別のSOAPベースのWebサービスで使用する価値が必要です。しかし、私はそれを取得できないようです-Flex HTTPServiceはサイレントに302応答をキャッチし、次のGETを送信します。その後、Cookieはどこにも見つかりません。
..ただし、Cookieは、HTTPServiceインスタンスからこのサーバーへの以降のすべてのリクエストに提供されるため、Flexのどこかに確実にキャッシュされます。
Webサービスで動作するのだろうか。したがって、私の質問:FlexでこのCookieの値を取得するにはどうすればよいですか?