2011-07-26 7 views
8

私の春のアプリケーションでは、Cookieを設定しようとしましたが、Cookieが読み込まれるページにリダイレクトされます。別のWebページへのリダイレクトは機能しますが、Cookieの設定はIE9でのみ失敗します。IE 9でCookieが設定され、リダイレクトが失敗する

Cookie cookie = MyCookieHandler.createCookie(parameters, domain); 
response.addCookie(cookie); 

リダイレクトは、私がFF3 +、ChromeとIE7/IE8での作品は罰金言ったようのModelAndView

modelView = new ModelAndView("redirect:" + getCallback()); 

を設定する買いが処理されます。私のアプリで何が間違っていますか?助言がありますか?

+1

はフィドラーを使用して、302個のHTTPレスポンスヘッダをキャプチャし、それらをここに投稿:

は、ここでヘッダーをバック合格する方法の2つの例です。 – EricLaw

+0

あなたのcreateCookieメソッドは何をしますか? –

+0

'HTTP/1.0 302移動一時的に 日:水曜日、2011年7月27日9時27分12秒GMT 場所:/login/index.html は変更される場合:受け入れエンコード コンテンツエンコード:gzipで のContent-Length:20 Content-Type:text/html; charset = ISO-8859-15 X-Cache:ham-dmz-mns1.mobilcom.deからのMISS X-Cache-Lookup:MISS from ham-dmz-mns1.myserver.de8080 経由:1.0 ham-dmz -mns1.myserver.de:8080(squid/2.7.STABLE5) 接続:キープアライブ プロキシ接続:キープアライブ ' – Nils

答えて

3

つまり、リダイレクトステートメントに完全なURLを追加しましたこれが正しい解決策であるかどうかわかりませんし、なぜIE9でキャッシュが異なるのか分かりませんが、今は動作します...ありがとうございます。

+0

私はこれを私の反応ですでに持っていましたが、それでも動作しませんでしたか? – buddyp450

2

前にリダイレクトに失敗したという問題がありました。それは不思議そうにFirefoxで動作するように見えましたが、IEで失敗しました。

response.addHeader("Pragma", "no-cache"); 
response.addHeader("Cache-Control", "no-cache"); 

今では私の作品:解決策は、私は次のように追加いくつかの試行後

http://foo.com/new_site.html 

代わりの

new_site.html 
+0

私のredirectURLはhttp://yyy.google.comのようです – Nils

+0

それの前にhttp://を追加してみてください。これはIEのセキュリティ設定の問題のようです。 – Raku

+0

ああ申し訳ありませんが、http:// yyy.google.com(コメントボックスで無視されました)、コールバックがhttpなしで設定されていても、私のアプリはこれを追加します。 – Nils

5

IE 8,9、および10で同様の問題が発生し、キャッシュコントロールヘッダーが役に立たなかった。さらに調査したところで、私はP3P privacy policy(古いJava Webアプリケーションから)を配置しなければならず、IEはキャッシュコントロールヘッダーなしでCookieを適切に保存しました。

このポリシー形式は、最近のInternet Explorerでのみ推奨されていますが、IEのプライバシー設定で手動で変更することなくCookieを管理する信頼性の高い手段を提供します。 P3Pプライバシーポリシーには、ポリシーファイルとコンパクトポリシーヘッダーという2つの部分があります。コンパクトなポリシーヘッダーが十分に機能しているようです。 P3Pの異なるカテゴリは、ヘッダ内の簡潔さのためのコンパクトなコードを有する。ナビゲーション=> NAV。最低限、コンパクトポリシーのためにINT、NAV、UNIコードから始めます。

Grails/Java: 
    response.setHeader("P3P", "CP='INT NAV UNI'"); 

PHP: 
    header('P3P:CP="INT NAV UNI"') 
+0

確認中です。この特定のP3Pヘッダーは私のためにIE11(Edge)で "POSTリダイレクト時に設定されたクッキー"問題を解決しました。他に何も変わっていない。このメソッドが失敗し始めると、METAタグベースのリフレッシュ/リダイレクトに戻ります。http://webmaster.iu.edu/tools-and-guides/maintenance/redirect-meta-refresh.phtml – ddotsenko

関連する問題