【问题标题】:How do you handle a Password Change when using WCF and DefaultCredentials?使用 WCF 和 DefaultCredentials 时如何处理密码更改?
【发布时间】:2013-02-12 10:51:34
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • via @Ryblex :“当您重新启动应用程序时,您是指 WCF 服务应用程序,包括 AppPool 吗?” [语法编辑]

标签: .net wcf security exception passwords


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-03-24
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 2011-05-01
    相关资源
    最近更新 更多