WCF 서비스가 Windows 서비스에서 호스팅되고 있으며 Windows Forms 응용 프로그램에서 호출되고 있습니다. Windows 인증 및 가장을 사용하고 있습니다. 명의 도용이 작동 중입니다. 그러나 Integrated Security를 사용하여 SQL Server에 액세스하려고하면 "Login failed for user"가 표시됩니다. ". 콘솔 응용 프로그램 내에서 서비스를 호스팅 할 때도 동일한 결과가 나타납니다. SQL 보안을 사용하면 모든 것이 제대로 작동합니다.WCF 서비스 내에서 가장을 사용할 때 SQL 로그인이 실패 함
다음은 서비스에 대한 설정 파일입니다.
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IService">
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceAuthorization impersonateCallerForAllOperations="true" />
</behavior>
</serviceBehaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceBehavior" name="AfsNetService">
<endpoint address="" binding="wsHttpBinding" contract="IAfsNetService">
<identity>
<userPrincipalName value="[email protected]" />
<servicePrincipalName value="localhost" />
<!--<dns value="" />-->
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
감사의 말을 전합니다.