1

認証にacgiセキュリティを使用するSpringアプリケーションがあります。多くのフィルターとインターセプターも使用しました。単一のホストマシンで正常に動作します。今、Tomcatを使用し、Apacheサーバーの負荷分散を使用して、クラスター化されたアプリケーションを実行したいと考えています。クラスタリングでアプリケーションを実行している場合、stickySession モードを使用すると正常に動作しますが、マルチキャストを使用すると、ログインが許可されず、常にログイン ページにリダイレクトされます。

なぜこの問題が発生するのかわかりません。

4

1 に答える 1

2

Spring Security の Security Context は、セッション内に値として保存されます。したがって、セッションがノード間で複製される場合、コンテキストも利用可能になります。スティック セッションを使用している場合、リクエストは同じコンテキストにヒットするため、機能します。マルチキャストは即時ではなく、マルチキャスト モードで機能しない理由の 1 つになる可能性があります。

これが機能するかどうかはわかりませんが、データベースでセッションの永続性を使用してノード間で共有できます。これは、セッションのレプリケーションよりも利点がありますが、スティックセッションが私の意見では最良の選択だと思います.

1) http://www.intelligrape.com/blog/2010/07/21/tomcat-6-session-persistence-through-jdbcstore/ 2) tomcat doc

于 2012-10-26T09:19:01.067 に答える