www.domainA.com からアクセスできる Web アプリケーションの一部と、www.domainB.com から別の部分にアクセスできる Web アプリケーションがあります。domainA.com からアプリに入り、domainB.com に移動すると、古いセッションが失われ、新しいセッションが作成されます。しかし、これら 2 つのドメイン間でセッションを共有したくありません (domainA.com にログインすると、domainB.com に再度ログインしたくありません)。
JSESSIONID
したがって、どのサイトが入力されても、domainA.com と domainB.com の両方のドメインの Cookieを作成することで解決できると考えていました。
HttpSessionListener
セッション作成時に手動でセットJSESSIONID
クッキーを作ろうと思いました。しかし、この HttpSessionListener から Cookie を設定する方法がわかりません。
これを実現する別の方法は、 を使用することFilter
です。しかし、セッションの作成時にのみ Cookie を設定する必要がある場合でも、各リクエストをフィルタリングする必要はないように思えます。
私はTomcat 7を使用していますが、すべてのJavaサーバーの一般的な解決策をいただければ幸いです。
また、最善の解決策は、通常の状況で Cookie を設定するメカニズムをフックまたはオーバーライドして、両方のドメインにこの Cookie を設定することだとも考えました。
おそらく、考えもしなかった、よりクリーンなソリューションが存在する可能性があります。