-
Flex에서 원격 서버의 Module 로딩컴퓨터/개발 2008. 1. 22. 09:40
Flex에서 원격 서버의 Module 로딩
한 서버에서 Application 에 다른 서버의 Module을 로드하기 위해서는 먼저 두 서버의 Module과 Application간에 신뢰가 확립되어야 한다.
도메인간에 엑세스를 허용하기 위해:
- Module을 로딩하는 Application에서는
allowDomain()메소드를 호출하여 Module이 있는 원격 서버의 도메인을 지정해 주어야 한다. 그런 방법으로 Application의 preinitialize 이벤트 헨들러에서 대상 도메인을 지정해야 한다. 이것은 Module이 로딩되기 이전에 Application이 set up 을 처리하기 위함이다. - Module이 있는 원격 서버의 crossdomain.xml 파일에서는 Application이 돌고 있는 서버가 엑세스를 허용할수 있는 사항을 추가한다.
- Application의 preinitialize 이벤트 핸들러에서 Module이 있는 원격 서버의 crossdomain.xml 파일을 로딩한다.
- 로딩되는 Module에서는
allowDomain()메소드를 호출하여 Application과 상호작용 할 수 있게 한다. 여기서 allowDomain() 메소드는 Application이 있는 서버의 도메인을 인자로 한다.
다음 예는 Module을 로딩하는 Application의 preinitialize 이벤트 핸들러에서 사용할 setup()메소드의 내용을 보여준다.:
public function setup():void { Security.allowDomain("remoteservername"); Security.loadPolicyFile("http://remoteservername/crossdomain.xml"); var request:URLRequest = new URLRequest("http://remoteservername
/crossdomain.xml"); var loader:URLLoader = new URLLoader(); loader.load(request); }다음 예는 로딩되는 Module의 init() 함수에서 사용할 내용을 보여준다.:
public function initMod():void { Security.allowDomain("loaderservername"); }다음 예는 원격서버(로딩되는 Module이 있는)에 올라갈 crossdomain.xml 파일에 설정해야할 내용이다.:
<!-- crossdomain.xml file located at the root of the server --> <cross-domain-policy> <allow-access-from domain="loaderservername" to-ports="*"/> </cross-domain-policy>For more information about using the cross-domain policy file, see Applying Flex Security in Building and Deploying Flex 2 Applications.
- Module을 로딩하는 Application에서는