2012-03-27 11 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アプリケーションを実行していると思いますか? 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

関連する問題