2011-09-27 6 views
5

jsessionidがhttpsヘッダーで使用されないようにしたいと考えています。 これをオフにする方法や、tomcat 7のクッキーとして設定しないようにする方法はありますか?Tomcat 7のhttpヘッダー(cookie)経由でjsessionidを無効にします。

私は、jsessionidがGETメソッドのURL名の値のペアに埋め込まれるか、POSTリクエストの名前の値のペアの一部になるようにします。

私は、CookieベースのセッションとURLの書き換えを使用することの利点と欠点をすべて知っていますが、私は安らかなWebサービスの具体的なインプリメンテーションが必要です。

httpヘッダー:jsessionidを使用せずにjsessionidを受け入れるには、tomcat 7が必要です。

ありがとうございました。

UPDATE:

ので、私はいくつかのより多くの周りを見て、web.xmlのconfのを使用して実装されthisを見つけました。
ただし以下は

<session-config> 
    <tracking-mode>URL</tracking-mode> 
</session-config> 

それは完全にサーブレット3.0仕様を実装していないTC7の場合でのTomcat 7で動作するようには思えないのですか?

答えて

4

web.xmlの設定はTomcat 7.0.20で動作します。

ログとセッショントラッキングモードの有効(そしておそらくデフォルト)をチェック:

logger.info("default STM: {}" , servletContext.getDefaultSessionTrackingModes()); 
logger.info("effective STM: {}" , servletContext.getEffectiveSessionTrackingModes()); 

たぶん、あなたのアプリケーションがどこかのコードセッショントラッキングモードで上書きします。例:

final Set<SessionTrackingMode> trackingModes = 
    Collections.singleton(SessionTrackingMode.COOKIE); 
servletContext.setSessionTrackingModes(trackingModes); 

コードでServletContext.setSessionTrackingModes()の呼び出しを確認してください。

to set default session tracking modes in the Tomcat's context settingsでも可能ですが、web.xmlの設定が無効になっています。

関連する問題