2012-03-27 151 views
0

我打電話給SharePoint 2010 REST/ODATA API,默認情況下數據上下文使用的是DefaultCredentials,它實際上是我的Asp.Net應用程序的登錄用戶。如果我沒有將DefaultCredentials附加到上下文,那麼我只會獲得401 Unauthorized。Sharepoint ODATA API以及如何使用服務帳戶進行身份驗證

我想知道如何在使用應用程序池憑據時調用SharePoint API?我正在嘗試遵循可信系統安全方法。否則,SharePoint站點需要授予ODATA訪問權限,並且基本上每個人都需要寫入某些列表(gak!)。

例如,對於SQL連接,我只需將「Integrated Security = true」設置爲使用應用程序池憑據。

回答

0

我是對的,你正在運行的ASP.NET應用程序其他比SharePoint服務器? (服務器場之外;只有一臺裝有IIS和ASP.NET的計算機。)如果您的ASP.NET應用程序池與您的SharePoint Web應用程序在相同的用戶下運行,您可以暫時將處理程序或頁面的代碼模擬爲應用程序池用戶和使用default network credentials

using (HostingEnvironment.Impersonate()) { 
    ICredentials credentials = CredentialCache.DefaultNetworkCredentials; 
    // ... use the credentials 
} 

如果你知道一些配置的應用程序池的用戶的憑據(名稱和密碼),你可以直接使用它們使HTTP請求:

ICredentials credentials = new NetworkCredential("user_name", "password"); 
// ... use the credentials 

- - Ferda

相關問題