邮政参数丢失与华夫饼和IE

时间:2011-06-20 14:28:11

标签: internet-explorer internet-explorer-8 ntlm waffle

对于调试,我编写了一个非常简单的Web应用程序,它只包含一个简单的JSP页面,其中包含一个包含文本字段和提交按钮的小表单。

tomcat配置为在此页面上使用Waffle Filter。我知道将表单发送到同一页面,但是在过滤器未涵盖的另一个URL下。后置参数现在完全丢失,但是传输了一个ntml令牌。

所以要总结一下:

  • 我转到http://myserver/autologin/test.jsp(通过华夫饼过滤器)
  • 在该页面上,我有一个带有操作指向的表单(http://myserver/content/test.jsp),该页面是同一页面,但在另一个URL(别名)下引用。
  • 所有POST参数在第二个请求中丢失

我正在使用来自waffle.codeplex.com和IE8的Waffle。

编辑:如果我使用其他NTLM过滤器,也会发生这种情况。所以问题不在于Waffle,而是Internet Explorer每次发出POST请求时都会强制重新验证NTLM会话。

之前有没有人遇到过这个问题?

2 个答案:

答案 0 :(得分:1)

我对IE8和Windows7有同样的问题

以下解决方案仅适用于WindowsXP上的IE7:

http://billcomer.blogspot.com/2009/01/ntlm-authentication-and-ie-post-problem.html

修改 好的,我忘了将我的服务器添加到我当地的Itranet区域: IE - >互联网选项 - >安全 - >选择“Locale Intranet”并单击Sites - >高级 - >现在添加您的服务器

http://www.nateirwin.net/2007/01/19/enabling-ntlm-authentication-in-firefox-and-internet-explorer/

现在它也适用于Windows7上的IE8

答案 1 :(得分:0)

在我的示例中,网址http://myserver/autologin/test.jsp是通过过滤器发送的,因此华夫饼正确验证并登陆页面。当我发布表单时,新请求没有经过waffle,导致IE强制通过NTLM重新进行身份验证。由于Waffle不再参与通信,重新认证失败,后期参数丢失。

因此,快速解决方案是更改华夫饼干的网址格式,以便它匹配应用程序中的所有网站。即/ *而不是/ autologin。