2009-08-17 12 views
0

Sharepointサーバーへのアクセスに使用されている資格情報と同じ資格情報を使用して、SharePointサーバーからダウンロードされたExcelシート内からWebサービス呼び出しを行うことはできますか?Sharepointと同じ資格情報を使用してwebserviceを呼び出す方法は?

私たちは現在、Excelシート内からWebサービスリクエストを行うExcelソリューションを開発中です。これはうまくいきますが、ユーザーは少なくとも2回ログインする必要があります:SharepointからExcelシートをダウンロード/開くためのものと、正しい資格情報を使用してWebサービスを実行できるものがあります。

Sharepointサーバーとクライアントコンピューターは、同じActive Directoryドメインにありません。したがって、 "System.Security.Principal.WindowsIdentity.GetCurrent()"はオプションではありません。サーバーに存在しないユーザーが返されるためです。

答えて

0

VSTO(Office用Visual Studio Tools)を使用してExcelプラグインを作成できます。 Excelを開いてボタンなどを含むたびに、プラグインが読み込まれます。

システムアカウントを使用するには、RunWithElevatedPrivilegesを使用する必要があります。これにはいくつかのセキュリティ上の影響があります。 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

通常、Webサービスはログインしているユーザーの資格情報を考慮に入れます。 NetworkCredentialクラスを使用して手動で作成することはできません。

System.Net.CredentialCache myCredentials = new System.Net.CredentialCache(); 
NetworkCredential netCred = new NetworkCredential("UserName", "Password"); 
myCredentials.Add(new Uri(myService.Url), "Basic", netCred); 
myService.Credentials = myCredentials; 

//ここにあなたのWebサービスメソッド

ACCES
関連する問題