실버라이트(SilverLight) 강좌와TIP 게시판입니다. - 시삽보기

제목: [How To] 도메인 영역을 넘을 수 있는 서비스 만들기
글쓴이: gongdo
평점: 없음
조회: 2487

2008/03/07 - [프로그래밍/Silverlight] - [Silverlight/MSDN] URL Access Policy
와 관련하여, 크로스 도메인 문제를 해결하기 위해 해당 서버에 접근 정책을 설정하는 방법에 대해 설명한 글이에요. 자세한 것은 원문을 보시고 여기에서는 HOW TO 부분만 가져왔습니다.

원문 : How to: Make a Service Available Across Domain Boundaries


실버라이트는 크로스 도메인 접근에 두 가지 매커니즘을 지원합니다.

  • clientaccesspolicy.xml
    ; 크로스 도메인 접근cross-domain-access하기 위한 서비스를 설정하기 위해 도메인의 루트에 놓는 파일.
  • crossdomain.xml
    ; 서비스가 호스트된 도메인의 루트에 놓는 파일. 파일은 반드시 공개할 도메인을 기록해야 합니다. 플래시에서 사용했던 방식으로 실버라이트도 이 스키마의 서브셋을 지원합니다.

clientaccesspolicy.xml 파일을 사용하여 크로스 도메인 접근하기

1. 실버라이트 클라이언트가 접근 가능한 서비스를 만듭니다. 자세한 정보는 실버라이트 클라이언트를 위한 서비스 만들기를 보세요.

2. 서비스에 접근을 허용하기 위해 clientaccesspolicy.xml 파일을 생성합니다. 다음 설정은 다른 어떤 도메인에서도 현재 도메인에 있는 모든 리소스를 접근하도록 허용합니다.

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from>
                <domain uri="*"/>
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

3. clientaccesspolicy.xml 파일을 서비스가 호스트되고 있는 도메인의 루트에 저장합니다. 예를 들어, http://fabrikam.com 에서 호스트되고 있는 서비스라면 반드시 http://fabrikam.com/clientaccesspolicy.xml에 위치해야 합니다.

4. 반면, http://contoso.com과 같은 딱 하나의 도메인에서만 접근을 허용하길 원한다면 clientaccesspolicy.xml은 다음과 같은 설정을 포함해야 합니다.

<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from>
                <domain uri="http://contoso.com" />
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>

5. 다른 도메인에서 서비스를 호출했을 때 접근이 가능한지 테스트합니다.


crossdomain.xml 파일을 사용하여 크로스 도메인 접근하기

1. 실버라이트 클라이언트에서 접근이 가능한 서비스를 만듭니다.

2. 다음 설정을 포함하는 crossdomain.xml 파일을 생성합니다. 파일은 반드시 다른 어떤 도메인에서도 서비스에 접근할 수 있도록 설정해야 하며 그렇지 않을 경우 실버라이트가 해석할 수 없습니다.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>

3. 서비스가 호스트된 도메인의 루트에 crossdomain.xml 파일을 서비스가 호스트되고 있는 도메인의 루트에 저장합니다. 예를 들어, http://fabrikam.com 에서 호스트되고 있는 서비스라면 반드시 http://fabrikam.com/crossdomain.xml에 위치해야 합니다.

4. 다른 도메인에서 서비스를 호출했을 때 접근이 가능한지 테스트합니다.

 

작성자 정보

글등록 +12 3154
덧글등록 +3 419
이름: gongdo(gongdo )

Level 56
 [EXP.221/250 ]


메일: gongdosoft골뱅이live.com

홈페이지: gongdosoft.com
자기소개
유령회사라고 말 했잖아!
글 공유하기 |
 tweet facebook
2008-03-07 오후 3:31:55
IP: 59.10.17.151
        
트랙백 주소 : http://www.hoons.kr/11428/BoardTrackback.aspx ()
등록된 트랙백 0

나도한마디
태그로 엮인글 리스트
글리스트
  실버라이트 도움말을 VS 2008 에 연결하기 [3] 평가안됨 오일석
  ScottGu's 실버라이트 튜토리얼 번역 완료 [24] 10점 오일석
  실버라이트 튜토리얼 파트 8: WPF를 이용하여 테스트탑용 Digg 클라이언트 만들기 [4] 평가안됨 오일석
  실버라이트 튜토리얼 파트7: 컨트롤 템플릿을 사용하여 룩앤필(Look and Feel) 변경하기 [2] 평가안됨 오일석
  실버라이트 튜토리얼 파트 6: 사용자 정의 컨트롤을 사용하여 Master/Detail 시나리오 구현하기 [3] 평가안됨 오일석
   ★현재글->  [How To] 도메인 영역을 넘을 수 있는 서비스 만들기 평가안됨 gongdo
  [MSDN] URL Access Policy 평가안됨 gongdo
  실버라이트 튜토리얼 파트 5: 리스트박스와 데이터바인딩를 사용하여 데이터 표시하기 [9] 평가안됨 오일석
  [MSDN] Application Development Overview 평가안됨 gongdo
  실버라이트 2 베타1 개발환경 설치하기 [3] 평가안됨 오일석
  실버라이트 2의 시작 MIX 08 키노트 잘 보는 방법 평가안됨 오일석


사용자 정보

close