異なるサーバーで実行されている同じ Web アプリケーションの複数の個別のインスタンスがあります (すべて公開 IP が異なります)。セッションを利用して、現在ログインしているユーザーの情報を保存します。
HttpSession session = req.getSession(true);
User user = (User)session.getAttribute("user");
if (user == null) {
// get my user
session.setMaxInactiveInterval(....);
session.setAttribute("user", user);
}
問題は、あるインスタンス (インスタンス 1 と呼びます) にログインしてから別のインスタンス (インスタンス 2) にログインすると、インスタンス 1 に切り替えると、インスタンス 2 の Cookie が取得され、明らかに問題が発生することです。そのような ID はインスタンス 1 には存在せず、その ID に一致するユーザーを黙って見つけた場合はさらに悪い..
Cookie を調べたところ、JSESSIONID
「localhost」のドメインで作成された Cookie は 1 つだけで、すべてのインスタンスで共有されています。ドメインをマシンのドメインに設定するように Tomcat を設定する方法はありますか?
私はTomcat 6.0.35を実行しています
どんな助けでも大歓迎です。ありがとうございました!