2016-03-23 4 views
0

TCP接続を使用して通信する、ローカルにホストされているSilverlightコンポーネント用のclientaccesspolicy.xmlをホストしています。それは動作しますが、私は許可されたドメインを強化しようとしており、TCP接続にこれらの制限を指定する方法を示すドキュメントが見つかりません。Silverlight NetTcp接続のドメインを制限するにはどうすればよいですか?

これは可能なのですか。もし私がこれらの制限をどのように指定しなければならないのですか?ソケットクラスを使用して、上の

<?xml version="1.0" encoding="utf-8"?> 
<access-policy> 
    <cross-domain-access> 
     <policy> 
      <allow-from http-request-headers="*"> 
       <domain uri="*"/> 
      </allow-from> 
      <grant-to> 
       <socket-resource port="4502-4534" protocol="tcp" /> 
      </grant-to> 
     </policy> 
    </cross-domain-access> 
</access-policy> 

答えて

0

Basics of the Security Policy System

1つの追加制限は、ネットワークアプリケーションが に許可されていることを 宛先ポート範囲は4502から4534の範囲内になければならないために、その接続されています。ソケットを使用するSilverlight アプリケーションからの接続によって許可される唯一の 宛先ポートです。ターゲットポートがこのポート の範囲内にない場合、接続の試行は失敗します。ターゲット サーバがこの制限された範囲からポート上で接続を受信する可能性があり、特定の既存アプリケーションプロトコルをサポートするために が必要な場合は を別のポート(たとえば、既知のポート)にリダイレクトする可能性があります。

私はポートの範囲を狭めると利用可能なTCPソケットが制限されると思います。彼らは、TCPソケット経由のアクセスのためのサービスを有効に<grant-to> 要素、4502<socket-resource port="4502" protocol="tcp" />を追加するには、次のMS

からドキュメント

To use a clientaccesspolicy.xml file to allow cross-domain access

を引用Example Policy File for Sockets here

<?xml version="1.0" encoding ="utf-8"?> 
<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from> 
     <domain uri="file:///" /> 
     </allow-from> 
     <grant-to> 
     <socket-resource port="4502-4506" protocol="tcp" /> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

を表示しますサービスがホストされているポートの値です。

ドメインの例

このポリシーファイルは、指定したドメインやスキームからの接続を受け付けます。このポリシーファイルは、特定の要求ヘッダーを指定し、アクセス可能なリソースを指定します。上記のポリシーについて

​​

下記のSilverlight HTTPアプリケーションがリストされたポートにアクセス持つことが許可され、上記ポリシーについて

http://electronics.fabrikam.com/sample/app.xap 
http://books.fabrikam.com/web/sample/app.html 
http://contoso.com:8080/sample/app.xap 

を、下記のSilverlightアプリケーションを持つことが許されていません列挙されたポートにアクセス:

http://electronics.fabrikam.com:8080/sample/app.xap 
http://electronics.fabrikam.com:8080/sample/app.xap 
http://bar.com/sample/app.xaml 
https://bar.com/sample/app.html 

次のHTTPリクエストヘッダは(常に許可されるContent-Typeヘッダに加えて)送信することができる:

MyHeader 
all headers starting with X-API- 

リソースNetwork Security Access Restrictions in Silverlight

+0

'<ドメインURI = "ファイル:///"/>の使用'かのバリエーションがどちらか、残念ながら動作するようには思えない、とどちらも '<ドメインURIありません= "net.tcp:///" /> ' – dlanod

関連する問題