2012-04-19 5 views
0

最新のChromeブラウザを使用してCookieをオフにしないでアプリケーションにログインしているとき、グラスフィッシュがURL書き換えを行う理由は何ですか?私が設定するのを忘れたものや何か?それはランダムに起こります。グラスフィッシュはクッキーをオフにしていないのにURL書き換えを使用します

+0

リクエストごとにURL書き換えを使用するのですか、新しいブラウザセッションで最初のリクエストだけを使用しますか? –

+0

あなたがログインしているような最初のリクエストです。以前と同じビューにリダイレクトされます。しかし、アプリケーション内を移動しても、セッションIDは追加されません。 – LuckyLuke

答えて

3

JSESSIONIDは、ユーザーの現在のHTTPセッションを決定する値です。これは通常、サーバー上の適切なセッション・オブジェクトに要求を接続するために、ブラウザー・クッキー(JSESSIONIDという名前)に保管されます。

JSESSIONIDが元の要求に存在しない理由は、おそらくサーバーがブラウザに返信する機会がなかったためです。現在のJSESSIONIDクッキーのないページ(たとえばc:urlを使用)にリンクがあれば、URLの書き換えを使用して生成されます(URLにはjsessionidが含まれます)。 JSESSIONIDがブラウザーのクッキーとして保管された後で、subsequnt要求では、URL書き換えは起こりません。

ユーザーのブラウザがCookieをサポートしていない場合(またはCookieの使用がオフになっている場合)、URLの書き換えによって、ユーザーは各URLに追加されたjsessionidによって同じセッションに接続し続けることができます。あなたはURLの書き換えを無効にしたい場合は

しかし、あなたはまた、運削除を有することができるのglassfish-web.xmlファイル

<property name="enableURLRewriting" value="false"/> 

で、falseにenableURLRewritingプロパティを設定することにより、これを行うことができます適切なCookieが存在することを確認し、より適切なURLにリダイレクトすることによって、URLを書き換えます。

+0

あなたが書いた最初の段落を理解していればわかりませんか?それはそれが最初のような "普通"であることを意味しますか? – LuckyLuke

+0

JSESSIONID Cookieが作成されていないのは正常です。たとえば、メインページのページタグにsession = "false"を設定しているとします。 –

+0

最初の段落をもう少し詳しく説明してください。私は答えを受け入れます。 – LuckyLuke

関連する問題