1

デバッグのために、テキストフィールドと送信ボタンを含む小さなフォームを含む単純なJSPページのみを含む非常に単純なWebアプリケーションを作成しました。

Tomcatは、このページのワッフルフィルターを使用するように構成されています。フォームを同じページに送信しますが、フィルターでカバーされていない別のURLで送信します。Postパラメータは完全に失われますが、ntmlトークンが送信されます。

だから夏に:

  • http://myserver/autologin/test.jsp(ワッフルフィルターを通過)にアクセスします
  • そのページには、同じページであるが別のURL(エイリアス)で参照されている(http://myserver/content/test.jsp)を指すアクションを含むフォームがあります。
  • その2番目のリクエストですべてのPOSTパラメータが失われます

waffle.codeplex.comとIE8のWaffleを使用しています。

編集:これは、他のNTLMフィルターを使用している場合にも発生します。したがって、問題はここではワッフルではなく、POST要求が発行されるたびにNTLMセッションを再認証することを強制するInternetExplorerです。

誰かが以前にこの問題を経験したことがありますか?

4

2 に答える 2

1

IE8とWindows7で同じ問題が発生します

次の解決策は、WindowsXP上のIE7でのみ機能しました。

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

編集: わかりました。サーバーをローカルのItranetゾーンに追加するのを忘れました:IE->インターネットオプション->セキュリティ-> [ロケールイントラネット]を選択し、[サイト]->[詳細設定]->[サーバーを追加]をクリックします

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

今ではWindows7のIE8でも動作します

于 2011-08-02T17:16:17.377 に答える
0

私の例では、URL http://myserver/autologin/test.jspがフィルターを介して送信されたため、ワッフルが正しく認証され、ページに到達しました。その後、フォームを投稿したところ、新しいリクエストはワッフルを通過しなかったため、IEはNTLMを介して再認証を強制しました。Waffleが通信に関与しなくなったため、再認証が失敗し、postパラメーターが失われました。

したがって、簡単な解決策は、ワッフルのURLパターンを変更して、アプリケーション内のすべてのサイトに一致するようにすることです。つまり、/autologinの代わりに/*。

于 2011-08-03T07:57:52.250 に答える