2011-09-12 132 views
2

我們目前擁有一個託管在SharePoint 2010頁面中的Silverlight應用程序。 Silverlight應用程序會將Web服務調用到我們的域中的另一臺服務器上,該域中有一個clientaccesspolicy文件。我們在生產環境中遇到了跨域問題。SharePoint 2010和Silverlight

服務器場管理員組中的用戶可以毫無問題地使用Silverlight應用程序。但是,所有其他用戶在嘗試使用此應用程序時都會收到通用的跨域異常。我們已將Fiddler附加到流程中,並注意到服務器場管理員已獲得了clientaccesspolicy文件,但非管理員用戶卻沒有。事實上,Fiddler從未顯示過爲非管理員加載該文件的嘗試。

這隻發生在我們的生產環境中,這導致我相信存在導致此問題的Web配置或權限設置。不幸的是,我找不到任何支持這一點的東西。

是否有其他人遇到這個問題或知道這樣的設置是否存在?

+0

需要檢查用戶是否可以直接訪問服務和策略文件。 – vorrtex

+0

他們可以。我有用戶在他們的瀏覽器中測試URL。他們可以訪問服務URL和策略文件。當它在SharePoint中託管時,他們無法訪問Silverlight應用程序。有一點我最初並沒有提出 - 有問題的服務是一個簡單的WCF服務,對SQL Server執行SELECT操作。它不是SharePoint Web服務。 –

+0

還有類似的討論:http://forums.silverlight.net/t/193638.aspx。其他一些想法:策略文件被瀏覽器緩存,或者有一些映射將遠程服務器屏蔽爲本地服務器。 – vorrtex

回答

0

請參閱上面的註釋。我必須更改URL才能使用完整的計算機名稱,即從webserver/service.svc到webserver.domain.com/service.svc。它解決了這個問題,但沒有回答關於爲什麼農場管理員可以訪問它的問題。 vorrtex的迴應是迄今爲止我所見過的最好的解釋。