도메인의 Windows 2008/IIS 7.5에서 실행되는 테스트 WCF 4 서비스가 있습니다.wcf 4/iis/server 2008 windows 인증 이상
바인딩에서 Windows 인증을 사용하고 있습니다. 나는 .NET 윈도우 클라이언트에서이 서비스에 액세스 할 때
는 :
tsc.ChannelFactory.Credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
경우 :
tsc.ChannelFactory.Credentials.Windows.ClientCredential = new NetworkCredential("bob.jones", "password", "DOMAIN");
그것은 내가 사용하는 경우 실패 : 내가 사용하는 경우
var b = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
EndpointAddress a = new EndpointAddress("http://server/TestService.svc");
TestServiceClient tsc = new TestServiceClient(b, a);
그것은 작동 그것은 내가 Fiddler에서 401을 참조하십시오 : "401 - 권한이 : 잘못된 자격 증명으로 인해 액세스가 거부되었습니다. "
성공 나는 같은 401을 본 다음 200을 볼 수 있으며 요청 및 응답에서 kerboros 티켓을 볼 수 있습니다.
가 여기 내 서비스 설정입니다 :
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding>
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />