2010-05-28 2 views
1

우리는 Flex 클라이언트 응용 프로그램에 BlazeDS를 통해 노출되는 일부 Java 객체를 구축하고 있습니다. 따라서 기본적으로 BlazeDS 메시지 브로커 서블릿은 클라이언트 요청에 응답하여 이러한 객체에 대한 메소드를 인스턴스화하고 호출합니다. 훌륭하게 작동합니다.FlexContext를 사용하지 않고 Java 서비스 객체에서 Principal에 액세스하는 방법은 무엇입니까?

우리는 응용 프로그램 서버 기반 인증을 사용 중이며 remoting-config.xml 파일 요소의 <destination> 요소에 보안 제약 조건을 설정하여 인증되지 않은 클라이언트가 이러한 원격 Java 객체에 액세스하지 못하게합니다. 다시 말하지만, 잘 작동합니다.

그러나 우리는 현재 로그온 한 사용자의 사용자 이름을 얻고 자하는 Java 객체의 구현 내에 여러 위치가 있습니다. 현재 우리는 FlexContext.getUserPrincipal()을 통해이를 수행하고 있습니다. 그러나이 객체 (서비스 계층)의 구현에는 BlazeDS 클래스에 대한 의존성이 있다는 아이디어가 마음에 들지 않는다는 우려가 있습니다. 그러나 우리는 이것에 접근 할 수있는 다른 방법을 모릅니다. ServletContext 등에 액세스하는 경우도 같습니다.

아이디어가 있으십니까?

+0

업데이트 : 솔루션을 제안한이 튜토리얼은 매우 우아하지는 않지만 작동합니다. 나는 또한 제임스의 해결책이 실현 가능하다고 생각한다. http://etutorials.org/Macromedia/Fash+remoting.+the+definitive+guide/Part+II+The+Server-Side+Languages/Chapter+7.+Flash+Remoting+and+Java/7.9+ + 요청 + 및 + 세션 / – Marplesoft

답변

1

BlazeDS의 MessageBrokerServlet을 사용할 때 이러한 문제를 해결할 방법이 없습니다. 내가 생각할 수있는 유일한 방법은 AMF, like this one을 수행하는 자신 만의 서블릿을 작성하는 것입니다.

관련 문제