2009-08-17 5 views
0

Sharepoint 서버에 액세스하는 데 사용되는 자격 증명과 동일한 자격 증명을 사용하여 SharePoint 서버에서 다운로드 한 Excel 시트 내에서 웹 서비스 호출을 수행 할 수 있습니까?Sharepoint와 동일한 자격 증명을 사용하여 webservice를 호출하는 방법은 무엇입니까?

현재 Excel 시트에서 웹 서비스 요청을 수행하는 Excel 솔루션을 개발 중입니다. 이것은 정상적으로 작동하지만 사용자는 Sharepoint에서 Excel 시트를 다운로드하거나 열기위한 권한과 올바른 자격 증명을 사용하여 웹 서비스를 실행할 수있는 권한 중 적어도 두 번 이상 로그인해야합니다.

Sharepoint 서버와 클라이언트 컴퓨터가 동일한 Active Directory 도메인에 없습니다. 따라서 "System.Security.Principal.WindowsIdentity.GetCurrent()"옵션은 서버에없는 사용자를 반환하므로 옵션이 아닙니다.

답변

0

VSTO (Office 용 Visual Studio Tools)를 사용하여 Excel 플러그인을 만들 수 있습니다. 플러그인을 열 때마다 Excel이 열리고 버튼 등이 포함될 수 있습니다.

Sharepoint의 시스템 계정을 사용하려면 RunWithElevatedPrivileges를 사용해야합니다. 이것은 약간의 보안 함의를 가지고 있습니다! http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

일반적으로 웹 서비스는 로그인 한 사용자 자격 증명을 고려합니다. 그렇지 않으면 언제든지 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; 

// 여기에 웹 서비스 방법

액세스를
관련 문제