2013-02-26 54 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会话才能更新缓存的凭据。

相关问题