2010-11-19 12 views
5

This answer spiega che quando si chiama un servizio web ASMX non c'è bisogno di specificare il tipo di autenticazione da utilizzare:Qual è l'equivalente del passaggio di DefaultCredentials in WCF?


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

proxy.Credentials = CredentialCache.DefaultCredentials; 

Questo metodo funziona sia per NTLM e Kerberos. Passerà le credenziali dell'account Windows in cui è in esecuzione il codice.


Qual è l'equivalente in WCF, che funziona negli ambienti NTLM e Kerberos?

risposta

4

In WCF è necessario specificare l'autenticazione nei collegamenti dei servizi WCF. Assicurarsi che client e server utilizzino lo stesso schema di autenticazione.

web.config:

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

Quindi non v'è alcun modo per evitare di specificare l'autenticazione? Cioè, è necessario sapere se l'ambiente è Kerberos o NTLM? –

+0

Con Kerberos, il client e il server devono soddisfare alcune condizioni specifiche prima di essere utilizzati, altrimenti l'autenticazione di Windows utilizzerà NTLM per impostazione predefinita – ericphan

Problemi correlati