使用WCF和DefaultCredentials时如何处理密码更改?

use*_*786 9 .net security passwords wcf exception

我有一个使用WCF代理来调用服务的客户端.凭据和其他功能正常工作,但如果用户更改其域密码并重新启动应用程序,则由于此错误,我无法调用该服务:

System.ServiceModel.Security.SecurityNegotiaionException - >服务器已拒绝客户端凭据.

System.Security.Authentication.InvalidCredentialException - >服务器已拒绝客户端凭据.

System.componentmodel.Win32Exception - >登录尝试失败.

显然,我知道用户的凭据已更改,但如何刷新CredentialCache以反映新凭据以便WCF调用成功?

fla*_*ayn 6

该服务根据AD检查客户端上下文中的令牌.wcf客户端使用当用户登录其Windows帐户时收到的现有Windows令牌.如果更改密码,则Windows会话仍使用旧凭据运行.您必须登录和退出Windows会话才能更新缓存的凭据.