2010-11-19 7 views
5

This answer erklärt, dass, wenn ein ASMX Web-Service-Aufruf gibt es keine Notwendigkeit zu verwenden, welchen Authentifizierungstyp angeben ist:Was entspricht der Übergabe von DefaultCredentials in WCF?


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

proxy.Credentials = CredentialCache.DefaultCredentials; 

Diese Methode funktioniert sowohl für NTLM und Kerberos-Authentifizierung. Es wird die Anmeldeinformationen des Windows-Kontos übergeben, unter dem der Code ausgeführt wird.


Was ist das Äquivalent in WCF, das in NTLM- und Kerberos-Umgebungen funktioniert?

Antwort

4

In WCF müssen Sie Authentifizierung in den Bindungen Ihrer WCF-Dienste angeben. Stellen Sie sicher, dass der Client und der Server dasselbe Authentifizierungsschema verwenden.

web.config:

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

So gibt es keine Möglichkeit, die Authentifizierung zu vermeiden Angabe? Das heißt, Sie müssen wissen, ob die Umgebung Kerberos oder NTLM ist? –

+0

Mit Kerberos müssen Ihr Client und Server bestimmte Bedingungen erfüllen, bevor sie verwendet werden. Andernfalls wird die Windows-Authentifizierung standardmäßig NTLM verwenden – ericphan