Interstage Application Serverにおいて、先にログインした画面が、後からログインしたユーザの情報となってしまいます。また、セションIDが上書きされているように見えます。
- 同一マシンにて複数ログイン(複数ブラウザ起動)して複数処理を実行すると、先にログインした画面が、後からログインしたユーザの情報となってしまいます。また、セションIDが上書きされているように見えます。原因を教えてください。
- 同一マシン上で複数ブラウザを起動した場合は、セションCookieはブラウザのスレッド間、またはプロセス間で共有されます。
そのため、先に起動したブラウザのセションがあとから起動したブラウザ上でも有効となったり、逆にあとから起動したブラウザでログイン(セションの生成または再生成)した情報が先に起動したブラウザ上でも有効となったりすることがあります。
一般には、サーブレット・コンテナ環境定義ファイルのclisentSession属性で「default(省略値)」を設定した場合はスレッド間で、「permanent」を選択した場合はプロセス間でもセションCookieが共有されますが、複数起動したブラウザが別スレッドか別プロセスかを含め、振る舞いはブラウザの動作に依存します。
参考資料:
Interstage Application Server J2EE ユーザーズガイド
第2部 Servlet/JSP編
第11章 Servletサービスの環境定義ファイル
11.5 サーブレット・コンテナ環境定義ファイル
11.5.3 サーブレット・コンテナ環境定義ファイルのタグの詳細
11.5.3.3 サーブレット・コンテナの環境
clientSession
セションCookieの設定方法を記述します。以下の値を指定します。-
default (省略値)
初回レスポンスだけ設定します。
クライアントの終了またはセションタイムアウトまでセションの継続が可能です。 -
permanent
毎回のレスポンスで設定します。
セションタイムアウト前であれば、クライアントを一旦終了してもセションの継続が可能です。 -
disable
セションCookieを使用せずに、セションIDはURLパラメタに埋め込まれます。
encodeURLメソッドを使用してください。
同一マシンで複数のブラウザを起動して、ブラウザ毎に異なるセションIDを設定することが可能です。
-
製品・サービス区分 | Interstage | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 運用/保守 |