2012-05-21 3 views
1

Flex 어플리케이션에서 HTTP POST의 매개 변수로 j_usernamej_password 필드를 제공하는 j_security_check 양식 (일반적인 인증 방법 인 것 같습니다)으로 인증해야합니다. 의뢰. 간단한 HTTPService (URLLoader라는 다른 옵션이 있지만 동일한 결과를 제공함)로 그렇게 할 생각입니다. POST 요청을 보내면 jsessionid을 포함하는 응답을 SetCookie으로 기다립니다. 그러나, 나는 jsessionid을받은 후에야 나타나는 html 페이지를 얻습니다.Flex HTTPService를 사용하여 302 HTTP 상태 응답에서 쿠키를 얻는 방법

  1. 내 POST 요청 HTTP 상태에게 SetCookie
  2. jsessionid를 포함하는 302 응답을 j_usernamej_password
  3. 를 포함 [baseurl]/j_security_check에 : 여기

    은 실제로 HTTP 패킷의 측면에서 모습입니다 GET request [baseurl]/login.jsp 내 응용 프로그램에서 이전 패킷과 함께받은 jsessionid 만 들어 있습니다.
  4. 로그인이 성공하면 웹 브라우저에서 볼 수있는 html 페이지가 포함 된 HTTP Status 200 응답입니다.

다른 SOAP 기반 웹 서비스와 함께 인증 수단으로 사용하려면 jsessionid 값이 필요합니다. 하지만 얻을 수없는 것 같습니다 - Flex HTTPService는 자동으로 302 응답을 포착하고 다음 GET을 보냅니다. 그 후에 쿠키는 어디에도 없습니다.

.. 그러나, HTTPService 인스턴스에서이 서버에 대한 모든 추가 요청에 제공되므로 쿠키는 확실히 Flex 어딘가에 캐시됩니다!

웹 서비스와 함께 작동하는지 궁금합니다. 따라서 내 질문 : 어떻게 Flex에서이 쿠키의 가치를 얻을 수 있습니까?

답변

0

setCookie HTML 헤더를받은 후 Flex는이를 결과 인 HTTP 요청에 제공합니다 (HTTPService 또는 SOAP WebService). 나는이 setCookie의 가치를 얻을 수있는 방법을 찾지 못했지만 어쨌든이 상황은 내 경우에 효과적이다.

UPDATE :이 확인 된 어도비 플렉스 JIRA에서 버그 : http://bugs.adobe.com/jira/browse/SDK-15049 해상도 "연기"

관련 문제