2012-11-15 107 views
2

我已經開發了一個WPF應用程序與一組的自承載WCF服務,這是在同一個域通信,我用的是以下設置的配置文件。自我託管的WCF服務的跨域訪問?

<security mode="Transport"> 
     <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" /> 
     <message clientCredentialType="Windows" /> 
     </security> 

我託管在不同域中的服務器上的服務。我可以通過設置安全模式實現通信爲「無」,這是不理想的。

是否有任何其他的設置我可以爲用戶跨域通信或我有一些受信任的證書呢?我會很高興,如果有人可以指導我,因爲谷歌上的所有搜索引導我到Silverlight應用程序+ Crossdomain.xml + WCF,但我沒有看到跨域環境中的WPF的任何組合。

+0

考慮要求對ServerFault同樣的問題爲好,因爲你希望服務器在其中是不是一個真正的編程問題外域驗證用戶身份。 – Christoffer

+0

@Christoffer謝謝你,會這樣做。 – Macnique

+0

是有問題的域名是否屬於同一頂級域名的所有子域名? one.example.com和two.example.com? – dthorpe

回答

0

Windows憑據不能在WPF客戶端和WCF服務器之間時,這些兩臺機器是不是同一個域的一部分共享。對於傳輸級別和消息級別的安全性,您可以使用證書來建立跨域信任,但是,這需要簽署這些證書並讓客戶端信任簽名中心。

你可以當你控制的WPF客戶機可以安裝在客戶端的受信任的根證書頒發機構的CA證書使用自簽名證書實現這一目標。如果您不能讓所有WPF客戶端安裝您的CA證書,您必須獲得商業簽名證書。