2013-02-26 4 views
8

Ho un client che utilizza un proxy WCF per chiamare un servizio. Le credenziali e altre funzionalità funzionano normalmente, ma se l'utente modifica la password del dominio e riavvio l'app, non sono in grado di chiamare il servizio a causa di questo errore:Come si gestisce una modifica della password quando si utilizza WCF e DefaultCredentials?

System.ServiceModel.Security.SecurityNegotiaionException -> Il server ha rifiutato le credenziali del client.

System.Security.Authentication.InvalidCredentialException -> Il server ha rifiutato le credenziali del client.

System.componentmodel.Win32Exception -> Il tentativo di accesso non è riuscito.

Ovviamente so che le credenziali dell'utente sono cambiate ma come posso aggiornare lo CredentialCache per riflettere le nuove credenziali in modo che la chiamata WCF abbia esito positivo?

+0

tramite @Ryblex: "Quando si riavvia l'app, si intende l'app Servizi WCF che include l'AppPool?" [modificato per la grammatica] – Gray

risposta

6

Il servizio controlla il token nel contesto client contro l'annuncio. Il client wcf utilizza il token Windows esistente che riceve quando l'utente accede al suo account Windows. Se si modifica la password, la sessione di Windows viene comunque eseguita con le vecchie credenziali. È necessario accedere e uscire dalla sessione di Windows per aggiornare le credenziali memorizzate nella cache.