[ADF, WebCenter] Getting rid of the JSESSIONID from the URL for ADF/Webcenter

原文はこちら。
https://blogs.oracle.com/angelo/entry/getting_rid_of_the_jsessionid

昨日システム構築しているパートナー企業の方から電話があり、以下のような興味深い質問をしてきました。
「JSESSIONIDパラメータをWebCenterアプリケーションのURLから取り除くことができる?」
質問を受けたとき「なんで?」と思いました。J2EEアプリケーションのセッション管理の一部だからですが、結局セキュリティを懸念するクライアントがWebCenterアプリケーションのセッション乗っ取りを困難にしたいため、URLに含まれるJSESSIONIDを好んでいないということがわかりました。

なるほど…

ありがたいことにこれは非常に簡単です。WebLogic Serverの場合、weblogic.xmlにパラメータがあります。これを使うとセッションの管理方法を制御することができます。パラメータの一つで、URLパラメータではなくcookieを使用してJSESSIONIDトークンを実装することを強制します。この方法には、ブラウザでcookieが有効になっていない場合、アプリケーションが動作しないという明らかな欠点があります。

しかしcookieも傍受されたり閲覧されることがあるので、セッションcookieの名前を変更し、JSESSIONID自動探索ツールが効かないようにすることをお勧めします。

weblogic.xmlはこんな感じになります。

    MYAPPSESSID
    false
   
プロジェクトのweblogic.xmlファイルを編集したり、ウィザードの"overview"モードを使ったりすれば、JDeveloperからこの設定をすることもできます。

次善の策は全ての通信をSSLで暗号化することですね。

0 件のコメント:

コメントを投稿