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

时间:2013-02-26 20:15:17

标签: .net wcf security exception passwords

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

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

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

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

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

1 个答案:

答案 0 :(得分:6)

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