2012-01-12 5 views
8

Conosco un bel po 'di come funziona l'autenticazione Kerberos, ma per la vita di me non riesco a spiegare uno strano comportamento che sto vedendo con un servizio WCF ospitato da IIS.Perché BasicHttpBinding non ha bisogno di un nome principale per utilizzare l'autenticazione Kerberos su IIS7?

Ho creato un'app WCF estremamente semplice che espone un endpoint utilizzando BasicHttpBinding con TransportCredentialOnly. Per quanto riguarda Kerberos, il nome utente principale o il nome principale del servizio devono essere specificati dal client. Per qualche motivo non sembra coerente tra diversi tipi di binding.

Quando ometto questo nome principale, su IIS6, NTLM viene utilizzato. Su IIS7, utilizza Kerberos. Quando si specifica un Nome principale utente su IIS6, viene utilizzato Kerberos, ma su IIS7 le chiamate falliscono (Wireshark mostra un errore KRB_AP_ERR_BADMATCH durante l'handshake Kerberos).

Diventa ancora più divertente quando si passa l'associazione a WSHttpBinding con la sicurezza dei messaggi. Nell'esperimento, se non si specifica Nome utente principale su IIS6, la chiamata non riesce e su IIS7 NTLM viene utilizzato. Quando si specifica UPN, IIS6 non riesce e II7 finisce con Kerberos. Ecco un riassunto delle mie scoperte. Se qualcuno là fuori può aiutarmi a capire cosa sta succedendo, sarei eternamente grato.

Summary table

risposta

2

ne sai di autenticazione in modalità kernel in IIS 7? Rimuove la necessità di utilizzare un'identità personalizzata per il pool di applicazioni e inoltre (nella maggior parte dei casi) elimina la necessità di assegnare SPN all'identità personalizzata o alla macchina host.

Here's a blog post che descrive quando è necessario impostare SPN quando si utilizza l'autenticazione in modalità kernel.

+0

Ah, questa è una lettura affascinante. Grazie a @John, potrebbe essere esattamente ciò che causa le differenze tra IIS6 e IIS7. Proverò a sperimentare disabilitando l'autenticazione in modalità Kernel e vediamo quale effetto ha. Tornerò e aggiornerò come risposta se è così. –

Problemi correlati