Ho un'applicazione web asp.net che effettua chiamate a diversi servizi WCF. L'app Web si trova all'indirizzo www.mydomain.com e i servizi sono su services.mydomain.com. Sono ospitati dallo stesso server.Come funziona l'autenticazione Windows WCF senza impostare esplicitamente le credenziali
Ho appena aggiunto endpoint sicuri (bassicHttpBindings) per i servizi che utilizzano la sicurezza dei trasporti (https) e Windows authenication:
<binding name="WindowsSecuredBinding">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
e configurato il web app client per l'utilizzo di questi nuovi endpoint sicuri. Mi aspettavo che il prossimo passo fosse scrivere un codice nell'app Web per impostare le credenziali del client per passare l'autenticazione di Windows. Con mia sorpresa, le chiamate di servizio riescono senza impostare le credenziali del cliente. Suppongo che debba inviare l'account sul quale è in esecuzione l'app web ma non so come verificarlo. In altri scenari pensavo di aver visto le credenziali del client senza default implicito.
Così ho due domande:
- Come è successo l'autenticazione? Invia all'utente l'applicazione viene eseguita sotto, le credenziali dell'utente del browser, nessuna credenziale?
- Come è possibile eseguire il debug/log/trace del processo di autenticazione? Mi piacerebbe almeno vedere il nome utente che è stato autenticato in modo da poter convalidare la sicurezza.
L'autenticazione della finestra utilizza [Kerberos] (http://support.microsoft.com/kb/217098) IIRC. Credo che usi l'identità corrente, ma non sono sicuro di come sia configurabile o di come funzionano tutti i piccoli dettagli. –