Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Java IE中的HTTP 400与Spring Kerberos_Java_Spring_Kerberos - Fatal编程技术网

Java IE中的HTTP 400与Spring Kerberos

Java IE中的HTTP 400与Spring Kerberos,java,spring,kerberos,Java,Spring,Kerberos,我刚刚实现了SpringKerberos,所有东西都在Chrome和FF中工作,但在IE中,我遇到了一个HTTP 400错误请求。没有提到页眉太长。我已经将Tomcat头的大小增加到65k 可能与此相关的是,Kerberos身份验证适用于某些人,而不适用于其他人(即,有些人只收到票据,但没有经过身份验证,其他人则完全经过身份验证)。在使用SPNEGO/Kerberos时,是否有任何其他客户端配置在 编辑:为了完整性:我通过在server.xml中的连接器中添加maxHttpHeaderSize参

我刚刚实现了SpringKerberos,所有东西都在Chrome和FF中工作,但在IE中,我遇到了一个HTTP 400错误请求。没有提到页眉太长。我已经将Tomcat头的大小增加到65k

可能与此相关的是,Kerberos身份验证适用于某些人,而不适用于其他人(即,有些人只收到票据,但没有经过身份验证,其他人则完全经过身份验证)。在使用SPNEGO/Kerberos时,是否有任何其他客户端配置在


编辑:为了完整性:我通过在server.xml中的连接器中添加maxHttpHeaderSize参数来修复它。以前我使用packetSize而不是maxHttpHeaderSize

问题在于,对于Tomcat来说,标头太大,所以我增加了其中一个连接器的httpHeaderSize参数。在此之前,我使用了错误的参数(我使用packetSize而不是httpHeaderSize)。谢谢你的评论

当无法获得服务的Kerberos令牌时,IE会返回发送NTLM令牌。您是否检查过当您使用IE获得HTTP 400响应时是否确实发送了Kerberos令牌?@BernhardThalmayr:需要注意的一点是:当Kerberos失败时,IE会返回到基本身份验证。这就是为什么当Kerberos失败时,您会看到凭证对话框弹出,询问用户名/密码。NTLM不这样做,它是一个SSO协议,不会显示该框。@t-Heron弹出框不需要显示,但IE仍参与SPNEGO发送NTLM令牌。对于SPNEGO,目前无法强制执行特定的令牌类型。@BernhardThalmayr-我应该澄清一下。我的论点不是IE不能参与SPNEGO或不能发送NTLM令牌。如果IE不能协商Kerberos身份验证,那么它将故障转移到尝试基本身份验证。我之前没有说的是,虽然web服务器可能会将其称为NTLM令牌,但实际上它不是NTLM。此外,请提供一个参考,其中包含一个经过验证的、可重复的从Kerberos故障切换到NTLM的示例。我知道的所有SPNEGO实现都是从Kerberos到基本身份验证或从NTLM到基本身份验证的故障转移,但不是从Kerberos到NTLM的故障转移。我曾经认为Kerberos到NTLM的故障切换是可能的,但经过大量的研究和失败的复制尝试,我得出的结论是不可能的。关于这种特殊情况,没有很多好的文档,也没有很多错误引导的文档。不过我愿意被证明是错的。