2010-11-19 4 views
5

This answer는이 .asmx 웹 서비스를 호출 할 때 사용할 인증 유형을 지정할 필요가 없다는 것을 설명 :WCF에서 DefaultCredentials를 전달하는 것과 동일합니다.


WebServiceProxy proxy = new WebServiceProxy(); // Derived from SoapHttpClientProtocol 

proxy.Credentials = CredentialCache.DefaultCredentials; 

이 방법은 NTLM 및 Kerberos 인증을 모두 사용할 수 있습니다. 코드가 실행되는 Windows 계정의 자격 증명을 전달합니다.


NTLM 및 Kerberos 환경에서 모두 작동하는 WCF는 무엇입니까?

답변

4

WCF에서 WCF 서비스의 바인딩에 인증을 지정해야합니다. 클라이언트와 서버가 동일한 인증 체계를 사용하는지 확인하십시오.

의 Web.config :

<binding name="WindowsClientOverTcp"> 
    <security mode="Transport"> 
     <transport clientCredentialType="Windows" /> 
    </security> 
</binding> 
+0

그래서 인증을 지정하지 않도록 할 수있는 방법이 무엇입니까? 즉, 환경이 Kerberos 또는 NTLM인지 여부를 알아야합니다. –

+0

Kerberos를 사용하면 클라이언트와 서버가 사용되기 전에 특정 조건을 충족해야합니다. 그렇지 않으면 windows 인증이 NTLM을 사용하도록 기본 설정됩니다 – ericphan

관련 문제