Cosminexus 機能解説
(1) グローバルセッションの制御方法の種類
グローバルセッションは,次のどちらかの方法で制御できます。
- HTTP Cookieによる制御
グローバルセッションIDをHTTP Cookieによって管理する制御方法です。J2EEサーバからWebクライアントにレスポンスを返すときに,グローバルセッションIDを含むHTTP Cookieを設定します。次にWebクライアントがJ2EEサーバにリクエストを送るときには,そのHTTP Cookieを送信します。これによって,グローバルセッションの制御を実現します。
- URL書き換えによる制御
グローバルセッションIDをURLのパスパラメタに含めて管理する制御方法です。
J2EEサーバがWebクライアントに返すページ遷移用のURLを書き換えるときに,グローバルセッションIDを含めてエンコードします。次にWebクライアントがJ2EEサーバにリクエストを送るときには,このエンコードされたURLを使用します。これによって,グローバルセッションの制御を実現します。
使用するクライアントの種類などに応じて,適切な制御方法を選択してください。それぞれの制御方法の詳細については,「12.3 HTTP Cookieによるグローバルセッションの制御」および「12.4 URL書き換えによるグローバルセッションの制御」を参照してください。
制御方法は,セッションフェイルオーバ用フィルタに設定します。設定方法については,マニュアル「Cosminexus システム構築ガイド」の,セッションフェイルオーバ用フィルタの設定についての説明を参照してください。
- 参考
- 両方の制御方法を使用する設定をしている場合に,HTTP CookieおよびURLのパスパラメタの両方にグローバルセッションIDが含まれているときの動作
- セッションフェイルオーバ用フィルタでの制御方法の設定では,次の設定ができます。
- HTTP Cookieを使用することを示す設定(cookie)
- URL書き換えを使用することを示す設定(url-rewriting)
- 両方の制御方法を使用することを示す設定(both)
- 「both」を設定している場合に,HTTP CookieおよびURLのパスパラメタの両方にグローバルセッションIDが含まれているときには,HTTP Cookieに含まれるグローバルセッションIDが有効になります。このとき,URLのパスパラメタに含まれているグローバルセッションIDは無効になります。
なお,URL書き換えによるグローバルセッション制御は,J2EEサーバおよびSFOサーバのバージョンが07-50以降の場合に使用できます。
(2) グローバルセッション情報の制御方法の選択指針
HTTP Cookieによって制御できる場合は,HTTP Cookieによる制御を選択してください。
URL書き換えによる制御をする場合,リクエストおよびレスポンスの両方に,HTTPセッションのセッションIDとグローバルセッションIDが含まれることになります。この方法は,一般的にセッションハイジャックなどの危険性が高まるといわれています。
HTTP Cookieを使用できないクライアントを使用するシステムなど,特定のシステム以外では,URL書き換えによる制御は使用しないことをお勧めします。
Webクライアントから受信したリクエストが,次の条件をすべて満たす場合,グローバルセッションが作成されません。
- HTTPセッションが存在する。
- WebアプリケーションのDDに,グローバルセッションの制御方法として,HTTP Cookie,またはURL書き換えのどちらかを使用すると設定している(「both」を設定していない)。
- すでに存在するHTTPセッションの制御方法が,Webアプリケーションに設定したグローバルセッションの制御方法と異なる。
これらの条件に当てはまるリクエストに関連づけられたHTTPセッションは,セッションフェイルオーバ機能の対象にはなりません。この場合,リクエストの受信時にKDJE34524-Wのメッセージが出力されます。
ただし,グローバルセッションが作成されない場合も,HTTPセッションは継続されます。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.