2011-04-14 73 views
2

我們有一個SharePoint應用程序需要從WCF服務中檢索外部數據,該服務依次從SQL服務器獲取數據( 2005)。 SharePoint通過NTLM進行身份驗證,並且憑據可以轉換爲SharePoint服務器上的聲明。如何克服從SharePoint 2010 BDC到WCF服務到SQL Server的雙跳問題

WCF服務連接到先前由Web應用程序訪問的數據庫(Web應用程序正在遷移到SP + WCF)。這個數據庫是有權限的,所以它必須以最終用戶的身份進行訪問,當它是客戶端 - > Web應用程序 - > SQL Server時沒問題,但當它是客戶端 - > SharePoint-> WCF服務 - > SQL Server時失敗。

我已經讀了一些關於模擬和c2wts,我認爲這適用於這種情況,但我不知道它是如何適合的。它應該在SharePoint服務器或服務服務器等... ?

如何通過SharePoint和WCF服務持久存儲最終用戶的身份以便能夠訪問SQL服務器?

回答

3

您需要配置Kerberos身份驗證。並且告訴你,它是PITA。

這裏有讓你開始一些鏈接(我按照他們的SP2007,但如果你使用SP2010它不應該是太大的區別):

http://blogs.objectsharp.com/cs/blogs/max/archive/2008/08/01/implementing-kerberos-in-sharepoint-running-on-windows-server-2008.aspx

http://blogs.msdn.com/b/martinkearn/archive/2007/04/23/configuring-kerberos-for-sharepoint-2007-part-1-base-configuration-for-sharepoint.aspx

+0

我擔心可能是這種情況。儘管感謝您的鏈接。 – DavW 2011-04-14 11:03:55

+0

如果您遵循正確的指南,Kerberos的配置並不太困難。這裏有一個文檔可以幫助你很多:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1a794fb5-77d0-475c-8738-ea04d3de1147&displaylang=en – 2011-04-14 22:55:03

+0

這是如何適應基於聲明的驗證?如果這仍然爲SharePoint應用程序啓用,或者我應該在經典模式下使用Kerberos? – DavW 2011-04-15 13:13:38

2

一解決這個問題的其他解決方案是使用Secure Store。這樣可以讓您將單個用戶映射到您的bdc模型的單獨存儲的憑據或映射到單個憑證的用戶組。