私は Apache Ignite を使用して Web セッションをクラスター化し、Spring セキュリティを使用してフォームベースの認証を行っています。私が使用するソフトウェアは次のとおりです。
- JDK1.8.0_60
- アパッチ トムキャット 7.0.68
- Apache Ignite 1.5.0.final
- 春のセキュリティ 3.1.3.RELEASE
(Apache Ignite を使用しない場合、フォーム ベースの認証は正常に機能し、認証の成功時に JSESSIONID Cookie が変更され、予想どおり、セッション固定攻撃から保護されます。)
Apache Ignite ではログインできず、次の警告が表示されます。
2016-04-18 16:49:07,283 WARN org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy/onAuthentication 102 - Your servlet container did not change the session ID when a new session was created. You will not be adequately protected against session-fixation attacks
以下のように、Spring 構成でセッション固定保護をオフにすると:
<http>
...
<session-management session-fixation-protection="none" />
...
</http>
できます。(ただし、結果として、JSESSIONID Cookie は認証の成功時に変更されません。)