由于Vista
和Windows Server 2008
,当您尝试通过IP访问远程机器上的资源(例如访问共享文件夹\\x.x.x.x\MySharedFolder(时,Kerberos
不会反向查找IP,而是回退到NTLM
,它在我的环境中被阻止,我无法访问该资源。我的代码包含了许多IP的使用,以便访问远程机器上的资源,我想知道是否有一个独立于操作系统的配置可以使Kerberos
与IP一起工作,因为听起来必须有这样的解决方案,而不是将所有C#
代码都改为使用主机名,而不是IP。
我发现了一篇关于msdn的文章,但它与Windows 10
或Windows Server 2016
有关(没有人能告诉我目标机器将拥有这些操作系统(:https://learn.microsoft.com/en-us/windows-server/security/kerberos/configuring-kerberos-over-ip
对我来说,这样一个老问题已经有了解决方案,这真的很有道理。你知道类似的事情吗?谢谢
Windows中的Kerberos堆栈从未进行过反向查找,并且一直阻止基于IP的SPN。链接中提到的注册表更改只是为了在短期内让用户退出NTLM,而不是使用IP的长期解决方案。
您唯一的选择是使用您通过其他方式确定的SPN手动调用SSPI堆栈,然后手动将票证添加到您的请求中。
然而,现在是2020年。使用DNS。