Interstage Application Serverにおいて、SSLアクセラレータを使用した運用や、HTTP⇔HTTPSが変わる運用で、セションを継続できません。
- セション管理にCookieを使用せず、encodeURL/encodeRedirectURLメソッドを使用してセション管理をしていますが、SSLアクセラレータを使用した環境でセションを継続できません。ログイン画面でID、Passwordを入力してログインしても再びログイン画面が表示されてしまいます。対処方法を教えてください。
- SSLアクセラレータ使用などでポート番号が変更されたことにより、セションIDがURLにエンコードされなかったことが原因です。
以下のいずれかの方法によりセションIDをURLにエンコード可能とすることでセションを継続することができます。
-
サーブレット・コンテナ環境定義ファイルのContextタグの属性、urlEncodingの値に「1」を設定してください。
urlEncodingはencodeURLメソッドおよびencodeRedirectURLメソッドのセキュリティチェックレベルを記述するもので、「1」を指定した場合、チェック対象からポート番号を除外するため、ポート番号が異なっていてもエンコード可能となります。 -
encodeURLメソッドおよびencodeRedirectURLメソッドに渡すパスを、コンテキストパス(Webアプリケーション識別子)からのパスや現在のコンテンツからの相対パスとしてください。
プロトコル(http/https)やポート番号を含まないパスとすることでエンコード可能となります。
-
製品・サービス区分 | Interstage | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 設計/開発 |