我有一個有趣的情況,我一直無法破解。以下是我的Silverlight應用程序運行的環境。安全模型 - SharePoint 2010 Silverlight Web部件調用WCF服務
我們有一個SharePoint 2010 Intranet,它是應用程序的主要主機。在Web部件頁面上,我們有一個包含應用程序的Silverlight Web部件。我們使用客戶端對象模型來推斷登錄的SharePoint用戶是誰。此應用程序的用戶訪問他們用於登錄的AD域之外的SharePoint網站;這意味着他們有一個AD帳戶,但他們的電腦是不同領域的一部分。 Silverlight應用程序通過SOAP協議通過https調用WCF服務。
問題是,我如何保護這些服務,以便從登錄的SharePoint用戶的上下文中調用唯一有效的請求者是Silverlight應用程序?
每個最終用戶都有一個爲其創建的AD帳戶。 SharePoint網站是一個需要每個用戶使用其AD憑據登錄的Extranet。但是,沒有最終用戶通過屬於域的計算機訪問站點。
我試過使用Windows身份驗證,但我們有一個要求,即在用戶登錄到SharePoint後,不得提示用戶登錄(到Web服務)。我試圖使用客戶端對象模型來將認證/憑證「傳遞」給服務,但沒有運氣。
我們必須在我們開始之前禁用匿名身份驗證,所以我必須找出一種方法來保護服務,但不會讓用戶在應用程序內第二次登錄。