2011-07-29 2 views
0

AdomdConnection을 사용하여 큐브 데이터에 액세스하는 WCF WebService가 있습니다. 서비스는 Sharepoint Server 2010 내에서 호스팅됩니다.Analysis Services (SSAS)에 대한 WCF webservices 액세스

나는 또한 WCF 서비스를 호출하고 클라이언트 (자바 스크립트 사용)에서 호출되는 ASCX webservice가 있습니다. 모든 것이 잘 작동하지만 인증에 문제가 있습니다. 두 서비스 (ASCX & WCF)는 Sharepoint 내부에서 호스팅됩니다.

var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly); 
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows; 
var endpoint = new EndpointAddress(SPContext.Current.Web.Url + GmsConfigurationReader.Current.GetParameter("OlapWebserviceEnpoint")); 
var channelFactory = new ChannelFactory<IDataAccessService>(binding, endpoint); 
channelFactory.Credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; 
channelFactory.Credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials; 
var client = channelFactory.CreateChannel(); 
hyperlink = client.GetFacilityHyperlink("Quarter 2 2011", "Center/Eastern Europe", "Cracow", "Machine Time Utilization"); 

셰어 appool가이 ID를 사용하여 실행합니다

Either the user, NT AUTHORITY\IUSR, does not have access to the GMS1106 database, or the database does not exist. 

이 내가 ASMX에서 WCF의 웹 서비스를 호출하고있어 어떻게 : 큐브 데이터를 액세스하는 동안

나는 WCF 서비스에서 예외가 큐브에 대한 사용 권한.

요약하면 :

  • 이 내가 WCF 서비스에 액세스하는 방법입니다 : JavaScript (client) -> ASCX -> WCF -> CUBE을 - 그리고 아무 문제가 몇 가지 이유가 대신 계정에 내장 된 용도
  • WCF (모든 SharePoint 2010의 내부 호스팅)이 없다 사용자 자격증 명

NT AUTHORITY \ IUSR 권한을 큐브에 부여하면 모든 것이 정상적으로 작동하지만 실제로이를 수행하고 싶지는 않습니다.

답변

0

IIS와 관련이있는 것 같습니다. 사용 가능한 두 가지 옵션은 다음과 같습니다.

익명 인증을 해제하고 Windows 인증을 사용 설정합니다. 웹 서비스가 SSAS와 동일한 상자에 배포되어 있지 않으면 Kerberos에서만 작동하며 사용자는 입방체).

익명 인증을 해제하고 가장 (위장)을 켭니다. 앱 풀이 큐브에 액세스 할 수있는 경우에만 작동합니다.

관련 문제