我有一个使用WCF代理来调用服务的客户端。凭据和其他功能正常工作,但如果用户更改其域密码并重新启动应用程序,则由于此错误,我无法调用该服务:
System.ServiceModel.Security.SecurityNegotiaionException
- >服务器已拒绝客户端凭据。
System.Security.Authentication.InvalidCredentialException
- >服务器已拒绝客户端凭据。
System.componentmodel.Win32Exception
- >登录尝试失败。
显然,我知道用户的凭据已更改,但如何刷新CredentialCache
以反映新凭据,以便WCF调用成功?
答案 0 :(得分:6)
服务检查客户端上下文中的令牌与AD。 wcf客户端使用当用户登录其Windows帐户时收到的现有Windows令牌。如果更改密码,则Windows会话仍使用旧凭据运行。您必须登录和退出Windows会话才能更新缓存的凭据。