3

ログインにはJQueryAJAXを使用しています。ログインサービスはHTTP302を発行します。この場所は、ログインしているユーザーのGET、または(ログインが失敗した場合は)常に許可されていないHTTPステータスを返すRESTエンドポイントです。302と同時に、JSESSIONIDのセットCookieを発行します。CookieはHttpOnlyCookieです。

ストレートHTTPフォーム投稿を使用する場合、リダイレクトは正常に機能し、すべてが設定されます。JQuery AJAXを使用する場合、2回目の呼び出しでCookieが送信されないため、GET / user/{userId}へのリダイレクトは機能しません。この失敗した2番目の呼び出しは、認証に失敗したエンドポイントへのさらに別のリダイレクトをトリガーするはずですが、実際にはトリガーされません。調べてみると、2番目の呼び出しが「キャンセル」されていることがわかります。それはどういう意味ですか、そもそも問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

同一生成元ポリシーに違反している可能性があります。ログインしているドメインは、ページ/スクリプトファイルが提供されたドメインと同じですか?

そうでない場合は、CORS(クロスオリジンリソースシェアリング)を使用してCookieを固定する必要があります。

あなたはここでそれについてもっと学ぶことができます:

http://www.html5rocks.com/en/tutorials/cors/

https://developer.mozilla.org/en-US/docs/HTTP_access_control

于 2012-10-30T14:30:14.580 に答える