2013-02-26 28 views
8

我有一個客戶端使用WCF代理來調用服務。憑證和其他功能正常工作正常,但如果用戶更改其域密碼並重新啓動應用程序,則由於此錯誤,我無法致電該服務:如何在使用WCF和DefaultCredentials時處理密碼更改?

System.ServiceModel.Security.SecurityNegotiaionException - >服務器已拒絕客戶端憑據。

System.Security.Authentication.InvalidCredentialException - >服務器已拒絕客戶端憑據。

System.componentmodel.Win32Exception - >登錄嘗試失敗。

顯然我知道用戶的憑據已更改,但是如何刷新CredentialCache以反映新憑據,以便WCF調用成功?

+0

via @Ryblex:「當你重新啓動你的應用程序時,你的意思是包括AppPool在內的WCF服務應用程序?」 [爲語法編輯] – Gray 2013-10-01 01:17:23

回答

6

該服務在客戶端上下文中針對AD檢查令牌。 wcf客戶端使用當用戶登錄他的Windows帳戶時收到的現有Windows令牌。如果您更改密碼,則Windows會話仍以舊憑證運行。您必須登錄和退出Windows會話才能更新緩存的憑據。

相關問題