使用Waffle和IE丢失后期参数 [英] Post Parameters Lost with Waffle and IE

查看:302
本文介绍了使用Waffle和IE丢失后期参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

For debugging i wrote a really simple Web-Application which contains only a simple JSP Page with a small Form containing a textfield and a submit button.

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

The tomcat is configured to use the Waffle Filter on this page. I know send the Form to the same page but under another URL which is not covered by the Filter. The Post Parameters are now completely lost but an ntml token gets transmitted.

所以要总结一下:


  • 我去 http://myserver/autologin/test.jsp (通过华夫饼过滤器)

  • 在该页面上,我有一个表格,其中有一个动作指向(http://myserver/content/test.jsp),该页面是同一页面但在另一个URL下引用(别名)。

  • 所有POST参数在第二个请求中丢失

  • I go to http://myserver/autologin/test.jsp (which goes through waffle filter)
  • On that page i have a form with an action pointing to (http://myserver/content/test.jsp) which is the same page but refered to under another URL (alias).
  • All POST Parameters are lost in that second request

我是使用waffle来自waffle.codeplex.com和IE8。

I'm using Waffle from waffle.codeplex.com and IE8.

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

EDIT: This is also happening if i am using other NTLM filters. So the problem is not Waffle here but Internet Explorer which forces to reauthenticate the NTLM session everytime a POST request is issued.

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

Did anyone experience this problem before?

推荐答案

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

In my example, The url http://myserver/autologin/test.jsp was send through the filter, so waffle authenticated correctly and landed on the page. When i then posted the form, the new request did not go through waffle, causing the IE to force a re-authentication via NTLM. Due to the fact that Waffle was no longer involved in the communication, the re-authentication failed and the post parameters were lost.

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

So the quick solution is to change the url pattern for waffle, so that it matches all sites within the application. i.e. /* instead of /autologin.

这篇关于使用Waffle和IE丢失后期参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆