2010-06-17 6 views
2

내 서버에서 flex 응용 프로그램을 실행하고 있습니다.Adobe Flex, 원격 swf로드

서버에 swf가로드되도록 클라이언트로부터 요청을 받았기 때문에 고객이 로그인하기 위해 내 서버로 전송하지 않아도됩니다. 즉, 사용자의 입장에서 보면 mysite.com 대신 oursite.com에서 로그인하는 것처럼 보입니다.

나는 정말 간단한 것을 시도했으며, 사이트에 호스트 할 수있는 html 래퍼를 제공했습니다. "https://www.mysite.com/app/myapp.swf" 및 임베드 SRC = "https://www.mysite.com/app/myapp.swf"

"SRC"내가 만든 유일한 수정에 "SRC"VAR을 변경했다 놀랍게도

이 완벽했다. 그리고 무엇보다도, 서비스 호출은 여전히 ​​mysite.com에서 오는 것처럼 보입니다. 따라서 crossdomain.xml 파일을 수정해야 할 필요가 없습니다.

모두 좋아요.

내가 알고 있어야하는 위의 문제 나 단점이 있습니까?

답변

2

외부 페이지에서 JavaScript에 대한 ExternalInterface 호출을 수행하면 보안 오류가 발생할 수 있습니다. 도메인의 SWF가 클라이언트의 도메인에서 게재되는 HTML 콘텐츠에 액세스 할 수 없어야하기 때문입니다.

나는 비록 프린지 경우가 예상된다. 그 외에도 YouTube가하는 일과 크게 다르지 않습니다. Flex Show 플레이어에서도 똑같은 작업을했습니다. 나는 당신이 어떤 문제도 없을 것이라고 생각하지 않는다. 그리고 나는이 접근 방식이 당신의 앱을 덜 (또는 덜) 안전하게한다는 것을 믿지 않는다.

+0

내가 아직 havent 한 가지 문제는 주위에 내 머리를 가지고, 정기적으로 swf를 업데이 트하는 것입니다. 이것이 클라이언트에 푸시되는지 확인하기 위해 swf 이름 (버전 번호 추가)을 변경하고이를 반영하도록 내 사이트의 html 래퍼를 udpate합니다. 클라이언트를 위해 이것을 자동화하는 방법을 잘 모르겠다. 매번 html 래퍼를 바꾸라고 요청하는 것 외에는 그렇지 않다. – JonoB

+0

SWF를 자주 업데이트하여 브라우저 캐싱이 심각한 문제입니까? HTML 페이지를 사용하면 몇 가지 메타 데이터를 사용하여 새로 고칠 수 있습니다. 하지만 SWF를 사용하면 옵션이라고 생각하지 않습니다. 사용자가 SWF를 요청하는 대신 스크립트로 보낼 수 있습니다. 이 스크립트를 사용하여 최신 버전을 제공 할 수 있습니다. return mimtype을 지정하고 바이너리 swf 데이터를 반환하면됩니다. [스폰서 십 이미지가있는 www.TheFlexShow.com에서이 작업을 수행합니다.] – JeffryHouser

+0

그래, swf를 자주 업데이트하고 있습니다. 때로는 주당 한 번 이상 자주 사용합니다. 캐싱은 다소 골칫거리 였지만 Google 메타 데이터로 강제로 새로 고침을 수행합니다 (Google 크롬은 아직 약간의 허튼 소리입니다). 공유하고 싶다면 위에서 언급 한 스크립트를보고 싶습니다. – JonoB