为什么在通过FQDN连接时WinInet不能通过协商自动进行身份验证,但是在通过IP连接时会成功呢?

时间:2018-10-08 21:57:14

标签: c++ wininet spnego

一个奇怪的问题是,如果我通过名称连接到内部服务,但是如果我通过IP连接,则WinInet无法使用用户当前的凭据进行身份验证。

在我们自己的一个域DOM1中,我们的客户端可以使用服务器名称http://machine_name:port/service连接到WCF服务。

在另一个环境中,在域DOM2中,客户端可以使用http://sss.xxx.yyy.zzz:port/service自动进行身份验证,但是如果我们将客户端配置为使用计算机名进行连接,则客户端可以连接,但是无法使用集成安全性进行身份验证。我们最终不得不依靠基本的方法,这是我们想要避免的。

也就是说,我们可以切换到使用IP号码进行连接,但这对我来说没有任何意义。

1 个答案:

答案 0 :(得分:0)

似乎您的DNS无法将您的服务器URL解析为与NetBIOS名称相同的IP。

也许您获得了外部IP?调查您的网络流量并跟踪步骤。 此外,调查NetBIOS可能有助于理解问题以及从哪里开始寻找问题:

https://www.techrepublic.com/article/how-netbios-name-resolution-really-works/