2010-03-22 4 views
0

Java 웹 응용 프로그램에서 Flex 어플리케이션을 보호하려고합니다. 현재 Java 웹 애플리케이션은 사용자 계정 등을 로깅하고 관리합니다. 나는 안전한 메커니즘에서 Flash 무비와 본질적으로 해당 사용자의 자격 증명을 공유 할 수있는 방법이 있는지 궁금합니다. 예를 들어, 로그인 한 경우 해당 사용자가 물론 로그인 한 경우에만 해당 사용자의 Flex 응용 프로그램에 항목을 저장할 수 있기를 바랍니다. 어떤 아이디어? 어떤 도움이라도 대단히 감사합니다.Flex Inheriting User에 로그인했습니다.

업데이트 : 나는 모호한 점에 대해 사과드립니다. 저는 비 네트 포털에서 포틀렛 개발을하는 Tomcat 5.5, Java 6을 실행하고 있습니다. 모든 데이터 통신은 Blaze DS를 통해 이루어집니다. 우리 환경에서는 데이터 서비스가 있고 포털은 로그인, 사용자 관리 등을 처리합니다. 현재 우리는 사용자 이름을 플래시 무비로 전달하고 있습니다. 플래시 무비는 매우 안전하지 않다고 생각합니다.

답변

0

JSP로 생성 할 수있는 flashVars을 사용하여 플래시 무비에 데이터를 전달할 수 있습니다. 데이터는 서버에서 생성되고 사용자 ID와 연관된 일회성 키일 수 있습니다. 그런 다음 Flex 애플리케이션은 키를 가져 와서 웹 서비스 호출을 통해 로그인 할 수 있습니다. 그런 다음 서버는 키를 확인하고 사용자 계정에 대한 액세스를 허용합니다.

+0

언제 열쇠를 무효화하겠습니까? 세션은 세션 기반 쿠키가 만료 된 상태로 웹 클라이언트에서 종료됩니다. – Nick

+0

키는 일회성 키일 수 있으며 사용되면 즉시 만료되어 인증 된 후 웹 서비스 세션으로 전환됩니다. 클라이언트 측에서 세션은 페이지가 변경되면 만료되거나 ExternalInterface 호출을 통해 동기화 될 수 있습니다. 서버 측 세션은 HttpSessionListener를 통해 HttpSession과 동시에 파괴되거나 타임 아웃을 통해 독립적으로 만료 될 수 있습니다. – fgb

0

매우 일반적인 질문이며 현재 아키텍처가 무엇인지 모른 채 좋은 대답을 제시하기가 어렵습니다. Flex 애플리케이션이 웹 애플리케이션과 동일한 웹 서버를 사용하고 있습니까? 백엔드 (웹 서비스, 소켓, rtmp 소켓)와 논의하기 위해 당신은 무엇을 사용하고 있습니까? 동일한 웹 서버를 공유하는 경우 동일한 HTTP 세션에 액세스 할 수 있으며 사용자가 로그인했는지 여부를 확인할 수 있습니다.

Flex 애플리케이션에서 사용자가 HTML 응용 프로그램에서 로그 오프했거나 세션이 만료되었다는 것을 알고 자한다면 아키텍처에 따라 몇 가지 옵션이 있습니다. HTML 애플리케이션이 이미 통지되었다고 가정하면 ExternalInterface를 통해 Flex 애플리케이션의 메소드를 호출 할 수 있습니다. 그렇지 않은 경우 (Flex 애플리케이션을 사용하는 동안 세션이 만료 됨) 데이터를 저장할 때 알 수 있습니다.

+0

아키텍처와 관련하여 질문이 업데이트되었습니다. Flex 애플리케이션은 웹 애플리케이션의 구성 요소 일 뿐이며 애플리케이션 자체는 아닙니다. 우리의 경우 포털은 사용자가 로그인했는지 여부를 나타내는 책임이 있습니다. 구입 한 제품이므로 내부로 들어가서 필요한 부분을 변경하는 것이 쉽지 않습니다. 따라서 동일한 컨테이너를 통해 서비스되는 경우에도 본질적으로 두 응용 프로그램간에 자격 증명을 안전하게 공유한다는 초기 질문으로 돌아갑니다. – Nick

관련 문제