-
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에서는