2010-11-19 13 views
5

This answer wyjaśnia, że ​​podczas wywoływania .asmx usługi internetowej nie ma potrzeby, aby określić, jaki rodzaj uwierzytelniania używać:Co to jest odpowiednik przekazywania wartości DefaultCredentials w WCF?


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

proxy.Credentials = CredentialCache.DefaultCredentials; 

Ta metoda działa zarówno NTLM i uwierzytelniania Kerberos. Przekaże poświadczenia konta Windows, pod którym działa kod.


Co to jest odpowiednik w WCF, który działa zarówno w środowiskach NTLM, jak i Kerberos?

Odpowiedz

4

W WCF należy określić uwierzytelnianie w powiązaniach usług WCF. Upewnij się, że klient i serwer używają tego samego schematu uwierzytelniania.

web.config:

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

Więc nie ma sposobu, aby uniknąć określania uwierzytelnianie? Oznacza to, że musisz wiedzieć, czy środowisko to Kerberos czy NTLM? –

+0

W przypadku protokołu Kerberos klient i serwer muszą spełnić określone warunki, zanim zostanie on użyty, w przeciwnym razie uwierzytelnianie systemu Windows będzie domyślnie używać NTLM – ericphan

Powiązane problemy