我的 WCF 服务使用带有 Kerberos 的 Windows 身份验证,我们禁用了 NTLM。 该服务在一个域用户帐户下运行,客户端在不同的域用户帐户上运行。两者都使用 UPN 配置。 客户端和服务都在同一个域中。 该域有两个域 Controller 。
当两个域 Controller 都在线时,客户端和服务之间的通信运行顺畅,没有任何问题。如果其中一个域 Controller 出现故障,我会收到以下错误。
A call to SSPI failed, see inner exception. ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you
请指教我应该怎样做才能消除这个错误。谢谢。
最佳答案
是的,我碰巧知道这是从哪里来的。我只花了 2 天半的时间试图解决这个问题。它在我的 60 个工作站网络中造成了绝对的困惑。啊啊啊!我正在拔头发。 2005 年开始的 MCSE。
问题出在 IP6 上。我们的替代 comcast 商务路由器将一个隐藏范围推送到我的 LAN 并取代我在域内的 IP4 范围。这意味着域名无效,因为 IP6 正在清除它们。我在工作站上关闭 IP6 协议(protocol)后,错误消失了。
值得一提的是还有其他问题 - 打印、应用软件 - 这确实是我一生中在 LAN 上最糟糕的经历之一。简单修复,但无法在线找到它。所以希望这可以帮助那里的人。
关于c# - 当一个域 Controller 关闭时,WCF Kerberos SSPI 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595844/