为了调试,我编写了一个非常简单的Web应用程序,它只包含一个简单的JSP页面,其中一个小表单包含一个textfield和一个submit按钮。
tomcat被配置为在此页面上使用Waffle过滤器。我知道将表单发送到相同的页面,但是在另一个URL下,这个URL不是过滤器所涵盖的。Post参数现在已完全丢失,但ntml令牌将被传输。
所以总结一下:
我用的是waffle.codeplex.com和IE8的Waffle。
编辑:如果我使用其他NTLM过滤器,也会发生这种情况。所以问题不在于这里的Waffle,而在于Internet,它在每次发出POST请求时都会强制对NTLM会话进行重新身份验证。
以前有人遇到过这个问题吗?
发布于 2011-08-03 07:57:52
在我的示例中,url http://myserver/autologin/test.jsp是通过过滤器发送的,因此华夫饼进行了正确的身份验证,并降落在页面上。当我发布表单时,新请求没有经过华夫饼,导致IE通过NTLM强制进行重新身份验证。由于Waffle不再参与通信,重新身份验证失败,post参数丢失。
因此,快速解决方案是更改华夫饼的url模式,使其与应用程序中的所有站点匹配。即/*而不是/autologin。
发布于 2011-08-02 17:16:17
我对IE8和Windows7也有同样的问题
下面的解决方案仅适用于WindowsXP上的WindowsXP:
http://billcomer.blogspot.com/2009/01/ntlm-authentication-and-ie-post-problem.html
编辑:确定,我忘记将服务器添加到本地Itranet专区:(即-> Internet选项-> Security ->选择"Locale“,然后单击Sites -> Advanced->现在添加服务器
http://www.nateirwin.net/2007/01/19/enabling-ntlm-authentication-in-firefox-and-internet-explorer/
现在,它还可以在IE8上使用Windows7。
https://stackoverflow.com/questions/6412783
复制相似问题