Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
Can';t使用java.net.URLConnection在一个会话中使用不同的NTLM凭据进行身份验证_Java_Windows_Authentication_Ntlm_Jdk1.6 - Fatal编程技术网

Can';t使用java.net.URLConnection在一个会话中使用不同的NTLM凭据进行身份验证

Can';t使用java.net.URLConnection在一个会话中使用不同的NTLM凭据进行身份验证,java,windows,authentication,ntlm,jdk1.6,Java,Windows,Authentication,Ntlm,Jdk1.6,当我使用标准Java API(Java.net.URLConnection)访问HTTP服务器时,凭据在第一次成功身份验证后被“缓存”,随后对Authenticator.setDefault()的调用无效。因此,我需要重新启动应用程序以使用不同的凭据 当使用基本身份验证时,我没有观察到这种效果。但是我需要对我正在访问的服务器使用NTLM,雅加达公用HttpClient也不是替代品,因为它不支持NTLMv2(请参阅) 通过使用Wireshark查看数据包,我还观察到,在第一次成功身份验证之前,首先

当我使用标准Java API(Java.net.URLConnection)访问HTTP服务器时,凭据在第一次成功身份验证后被“缓存”,随后对Authenticator.setDefault()的调用无效。因此,我需要重新启动应用程序以使用不同的凭据

当使用基本身份验证时,我没有观察到这种效果。但是我需要对我正在访问的服务器使用NTLM,雅加达公用HttpClient也不是替代品,因为它不支持NTLMv2(请参阅)

通过使用Wireshark查看数据包,我还观察到,在第一次成功身份验证之前,首先尝试使用当前Windows凭据进行身份验证。但是在成功的身份验证之后,只使用保存的凭据

在成功进行NTLM身份验证后,是否有任何方法重置或更改java.net.Authenticator使用的凭据?

将+作为替代方案?


表示这是一个突出的错误。那里的一位作者提出了一些令人讨厌的反射魔法来克服这个问题。这是可以的,只要这是内部和记录为脆弱和潜在的破坏。当然不太好

ndn,你能在这上面找到什么吗?在实现需要不同连接才能使用不同凭据的代理时面临类似问题。应该有一个指定“默认情况下不使用系统/用户凭据”的设置。如果我发现了什么,我会通知你的。表示“在Microsoft Windows平台上,NTLM身份验证尝试从系统获取用户凭据,而不提示用户的身份验证程序对象。如果服务器不接受这些凭据,则将调用用户的身份验证程序。”