Потерянные параметры с вафлей и IE - PullRequest
1 голос
/ 20 июня 2011

Для отладки я написал действительно простое веб-приложение, которое содержит только простую страницу JSP с небольшой формой, содержащей текстовое поле и кнопку отправки.

Tomcat настроен на использование вафельного фильтра на этой странице. Я знаю, отправьте форму на ту же страницу, но под другим URL, который не покрывается фильтром. Параметры публикации теперь полностью потеряны, но передается токен ntml.

Итак, подведем итог:

  • Я иду на http://myserver/autologin/test.jsp (который проходит через вафельный фильтр)
  • На этой странице у меня есть форма с действием, указывающим на (http://myserver/content/test.jsp), которая является той же страницей, но на которую ссылаются по другому URL-адресу (псевдоним).
  • Все параметры POST теряются во втором запросе

Я использую Waffle от waffle.codeplex.com и IE8.

РЕДАКТИРОВАТЬ : Это также происходит, если я использую другие фильтры NTLM. Таким образом, проблема здесь не в Waffle, а в Internet Explorer, который вынуждает повторно проверять подлинность сеанса NTLM при каждом выполнении запроса POST.

Кто-нибудь сталкивался с этой проблемой раньше?

Ответы [ 2 ]

1 голос
/ 02 августа 2011

У меня такая же проблема с IE8 и Windows7

Следующее решение работает только с IE7 на WindowsXP:

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

EDIT: Хорошо, я забыл добавить свой сервер в локальную зону Itranet: IE -> Свойства обозревателя -> Безопасность -> Выберите «Локальная интрасеть» и нажмите Сайты -> Дополнительно -> Теперь добавьте свой сервер

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

Теперь он работает также с IE8 на Windows7

0 голосов
/ 03 августа 2011

В моем примере URL http://myserver/autologin/test.jsp был отправлен через фильтр, поэтому вафля прошла проверку подлинности и попала на страницу.Когда я затем разместил форму, новый запрос не прошел через вафлю, в результате чего IE принудительно провел повторную аутентификацию через NTLM.Из-за того, что Waffle больше не участвовал в обмене данными, повторная аутентификация завершилась неудачно, а параметры записи были потеряны.

Таким образом, быстрое решение состоит в том, чтобы изменить шаблон URL для waffle, чтобы он соответствовал всемсайты в приложении.т.е. / * вместо /autologin.

...