Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Kerberos通过IP访问远程计算机上的资源失败(NTLM被阻止)_C#_.net_Security_Kerberos_Ntlm - Fatal编程技术网

C# 使用Kerberos通过IP访问远程计算机上的资源失败(NTLM被阻止)

C# 使用Kerberos通过IP访问远程计算机上的资源失败(NTLM被阻止),c#,.net,security,kerberos,ntlm,C#,.net,Security,Kerberos,Ntlm,由于Vista和Windows Server 2008,Kerberos在您尝试通过IP访问远程计算机上的资源时(例如访问共享文件夹\\x.x.x\MySharedFolder),并没有反转IP的查找,而是返回到NTLM,这在我的环境中被阻止,我没能找到资源。 我的代码包含了许多IP的用法,以便访问远程机器上的资源,我想知道是否有一个独立于操作系统的配置,可以使Kerberos与IP一起工作,因为听起来似乎已经有了解决这类问题的方案,而不是将所有C代码都更改为使用主机名,而不是知识产权 我在ms

由于
Vista
Windows Server 2008
Kerberos
在您尝试通过IP访问远程计算机上的资源时(例如访问共享文件夹\\x.x.x\MySharedFolder),并没有反转IP的查找,而是返回到
NTLM
,这在我的环境中被阻止,我没能找到资源。 我的代码包含了许多IP的用法,以便访问远程机器上的资源,我想知道是否有一个独立于操作系统的配置,可以使
Kerberos
与IP一起工作,因为听起来似乎已经有了解决这类问题的方案,而不是将所有
C
代码都更改为使用主机名,而不是知识产权

我在msdn上找到了一篇文章,但它与
Windows10
WindowsServer2016
相关(没有人能告诉我目标机器将拥有这些OSs):

对我来说,对于这样一个老问题已经有了解决方案,这真的很有意义。 你知道这样的事吗?
谢谢

Windows中的Kerberos堆栈从未进行反向查找,并且始终阻止基于IP的SPN。链接中提到的注册表更改只是为了让用户在短期内脱离NTLM,而不是使用IPs的长期解决方案

唯一的替代方法是使用通过其他方法确定的SPN手动调用SSPI堆栈,然后手动将票证添加到请求中


然而,现在是2020年。使用DNS。

Windows中的Kerberos堆栈从未进行反向查找,并且始终阻止基于IP的SPN。链接中提到的注册表更改只是为了让用户在短期内脱离NTLM,而不是使用IPs的长期解决方案

唯一的替代方法是使用通过其他方法确定的SPN手动调用SSPI堆栈,然后手动将票证添加到请求中


然而,现在是2020年。使用DNS。

是的,我想我会重构代码以使用DNS。非常感谢。是的,我想我会重构代码来使用DNS。非常感谢。直到你提到那篇文章我才知道。谢谢你把它贴在你的问题里面。直到你提到那篇文章,我才知道。谢谢你把它贴在你的问题里面。