2012-05-04 3 views
1

jbossに複数のWebアプリケーションをデプロイすると、path - /を持つcookieが1つしか作成されないため、ドメイン内のどこからでもアクセスできます。しかし、1つのWebアプリケーションでsession.setAttribute()を実行した場合、その属性は他のアプリケーション(session.getAttribute()を使用している場合)で利用できるようになりますか?セッション属性はWebアプリケーションのローカルですか?

答えて

1

私が知る限り、各WAR/EARモジュールはデフォルトで独自のセッションを持つため、答えは「はい」です。セッション属性はローカルであり、同じドメイン内の他のWebアプリケーションでは使用できません。 session share between different war modules possible in jboss?

+0

セッション属性は、ある種のデータベースに格納されていますか? – Ashwin

+0

設定可能ですが、使用しているアプリケーションサーバー(サーブレット仕様自体にセッションの永続化方法に関する設定があるかどうかはわかりませんが、確認する価値はありますか)によって決まると思いますが、ここではweblogicのセッション永続性JDBCにすることができますhttp://docs.oracle.com/cd/E13222_01/wls/docs90/webapp/sessions.html#139726 –

+0

jbossサーバーを使用しています。 jbossがセッション属性をどのように格納しているかはどこで調べることができますか? – Ashwin

1

session.setAttribute()は、その属性を設定したセッションにのみ適用されます。各セッションでJSESSIONIDクッキーが表示されるのは、各Webアプリケーションが別々に設定しているためです(セキュリティは春ですか?)。

+0

ブラウザには、パスとしてドメイン全体を持つJSESSIONIDクッキーセットが1つしかありません。このCookieはリクエストヘッダーのすべてのWebアプリケーションに送られます。しかし、私の質問は、両方のWebアプリケーションでセッションIDを印刷すると、同じIDを取得できますか? – Ashwin

+0

私はそれが違うと思っています。それをデバッグするには[fiddler](http://www.fiddler2.com/fiddler2/)を試してください – shem

+0

私はそれを試してみましょう。 – Ashwin

関連する問題