1

mod_jkによってリンクされた静的コンテンツ用のApacheと動的コンテンツ用のTomcatがあります。私のアプリケーションはSpringベースで、SpringSecurityを使用しています。Apacheページはポート80であり、Tomcatページはポート8080でサーバーされています。SpringSecurityが適切にログオンを呼び出し、JSESSIONIDCookieが作成されていることがわかりました。このJSESSIONIDCookieは、動的なページに移動し続けている間も存続します。つまり、Tomcatによって提供されるページに。静的ページに移動すると、JSESSIONIDCookieが消えます。おそらく、これはTomcatセッションが終了したことを意味します。これは、後で動的ページに戻るときに、SpringSecurityで再度ログオンする必要があることを意味します。この種の静的環境と動的環境が混在する環境でSpringSecurityを永続化するにはどうすればよいですか?Apacheが提供するページに戻ったときに、JSESSIONIDCookieを保持する方法はありますか。

JSESSIONIDは、動的ページに最初にアクセスしたとき(spring-securityを介してログインしたとき)に作成されます。JSESSIONIDは、動的ページ(つまり、Tomcatによって提供されるページ)をナビゲートしている間、存在し、変更されません。静的ページに移動すると、JSESSIONID cookieが消えます(値の変更の問題ではありません。JSESSIONIDcookieは存在しません)。ワーカープロパティは次のとおりです。

worker.list=ajp13_worker
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=50
worker.ajp13_worker.cachesize=10
worker.ajp13_worker.cache_timeout=600
worker.ajp13_worker.socket_keepalive=1
worker.ajp13_worker.socket_timeout=300

構成ディレクティブは次のとおりです。

JkMount /OLOSmember/ ajp13_worker
JkMount /OLOSmember/* ajp13_worker

ブラウザはChromeです。ApacheとTomcat7はUbuntu上にあります。

4

1 に答える 1

0

あなたの質問には、決定的な答えを与えるのに十分な情報がありません。トラブルシューティングのためにできることがいくつかあります。

  • firebugを使用して、静的ページから動的ページに移動しているときにjsessionidが送信されているかどうかを確認します。firebugはJSESSIONIDの値が変化していることを示していますか?問題のあるレイヤーを分離したいのですが、jsession idはapacheに到達していますが、Tomcatに渡されていないのですか?

  • mod_jk構成ディレクティブとtomcatのworker.propertiesファイルを表示してください。そうすれば、より適切にサポートできます。

于 2012-12-15T04:53:09.927 に答える