2010-01-29 7 views
1

Flex 클라이언트에서 쿠키를 사용하지 않고 Struts 백엔드에 이르기까지 I have to find a different way to transmit the session token으로 보입니다.Struts가 세션 토큰을 얻는 방법을 언제 변경해야합니까?

요청의 페이로드에 세션 토큰을 넣으려면 가능한 한 기존 세션 처리를 최대한 재사용 할 수 있도록 Struts의 동작을 사용자 정의해야합니다. 특히 어떤 보안 조치 (예 : 토큰을 IP에 연결) 및 구성 매개 변수 (예 : 세션 만료 간격)를 다시 구현하고 싶지 않습니다.

기본 스택에서 초기에 CreateSession 인터셉터가 있는데, 서브 클래 싱 된 버전으로 교체해야합니까?

답변

-1

저는 Flex에 익숙하지 않지만 재미있는 것처럼 보였습니다. 질문에 답을 얻지 않는 것을보고 싶습니다. 나는 그것에 찔림이있을 것이라고 생각했습니다. Flex 세션 (HttpFlexSession)과 HttpSession은 완전히 다른 엔티티입니다. 그것은 당신이 그들 사이에서 데이터를 공유 할 수 있어야한다고 말했다.

Steven Webster와 Alistair McLeod가 작성한 "Macromedia Flex를 사용하여 풍부한 클라이언트 개발하기"에서 매우 관련성이 높은 무료 챕터 (Chapter 20: Flex Integration with J2EE)가 있습니다.

이제 무료 챕터에서 크게 인용 해 보겠습니다! 특히 주목할 :

유지 상태

할 에 대한 이해에서 가장 큰 도약은 HTTP 세션 상태에 대한 필요가 더 이상이 있다는 없습니다. 리치 클라이언트와 서버 사이의 요청이 궁극적으로 HTTP를 통해 이루어졌지만 을 통합해야하는 기술 대신 HTTP가 전송 기술로 축소되었습니다. J2EE 개발자는 이라는 속성과 HTTP 요청의 매개 변수 및 응답 개체를 배치하고 HTTP 세션에 객체를 저장하여 상태를 유지한다는 개념을 사용하면 편리합니다. ...

... HTTP 세션에 플렉스 수 사실에서 제공하는 액세스 및 플렉스 클라이언트가 로 HTTP 세션을 처리 할 수 ​​있도록 "서버의 또 다른 목적." 그러나 우리의 경험에 따르면 HTTP 세션을 사용하면 리팩토링 응용 프로그램 상태 중 일부를 클라이언트로 옮길 수있는 기회가 " "인 "나쁜 냄새"여야합니다.

이 장에서는 나중에 Flex 클라이언트 액세스를위한 세션 개체를 구성하는 방법을 보여줍니다.

플렉스 J2EE 세션에 대한 액세스를 확보

는 에 액세스하는 데 사용 할 수 있습니다 사용할 수있는 서버 측 자바 개체를 만드는 기본 web.xml 파일에서 세션 서블릿 를 미리 구성 응용 프로그램의 J2EE 세션을 수정하십시오.services.mxml에서 우리의 서비스 로케이터 원격 객체 정의 다음 중 하나를 배치하여, 우리는 우리의 응용 프로그램 얻고 J2EE 세션에서 객체를 을 설정뿐만 아니라에서 개체를 제거 할 수있는 서비스를 사용할 수 있도록 세션 : 다른 < MX와 마찬가지로

<mx:Remote object source="servlet" id="sessionObject" /> 
<mx:Remote object source="@ContextRoot()" id="sessionObject"/> 

: RemoteObject에 > 태그, 세션 서비스는,745에 결과 및 오류 이벤트 핸들러를 사용할 수 있습니다은 세션에서 항목을 가져 오는 요청을 처리합니다. web.xml 서술자 은 서블릿으로 서블릿 세션의 이름을 정의합니다. 그러므로, 우리는 J2EE 세션을 를 해결하려면 다음 예제 하나를 사용

sessionObject.session("set","customerID", 700); 
sessionObject.session("get", "customerID"); 
sessionObject.session("remove", "customerID"); 

는이 세 가지 예는 세션 서비스를 얻을 세트 또는에서 항목을 제거하는 데 사용되는 방법을 보여줍니다 Flex 클라이언트의 J2EE 세션

그래서 것 같다 당신이 수 플렉스와 백엔드 자바 사이의주 세션 데이터는, 그러나, 제안이이 안티 패턴 것으로 보인다 있지만 그.

보안 조치와 관련하여 서블릿 필터를 사용하여 IP 제한을 구현하는 경우 보안은 웹 응용 프로그램의 모든 리소스 (Struts 또는 Flex 원본인지 여부에 관계없이)에 적용될 수 있습니다.

+0

죄송합니다. 귀하가 답변에 답변 해 주신 것에 감사드립니다.하지만 유감스럽게도 바로 옆에 있습니다. 내 질문은 실제로 Flex (클라이언트 측)에 관한 것이 아니라 Struts (서버)에서해야 할 일에 관한 것입니다. 또한이 기사에서 참조하는 서버 구성 요소는 사용하지 않습니다. 명시 적으로 Struts 기반 솔루션을 찾고 있습니다. –

관련 문제