最新の安定バージョンについては、Spring Security 6.5.3 を使用してください!

Exploit Protection の移行

5.8 移行ガイドには、6.0 への更新時にエクスプロイト保護を移行するためのいくつかの手順が含まれています。最初にこれらの手順に従うことをお勧めします。

次の手順は、エクスプロイト保護サポートの移行を完了する方法に関連しています。

CsrfToken ロードの据え置き

Spring Security 5.8 では、アプリケーションで CsrfToken を使用できるようにするためのデフォルトの CsrfTokenRequestHandler は CsrfTokenRequestAttributeHandler です。フィールド csrfRequestAttributeName のデフォルトは null です。これにより、すべてのリクエストで CSRF トークンがロードされます。

Spring Security 6 では、csrfRequestAttributeName のデフォルトは _csrf です。6.0 への更新のみを目的として以下を構成した場合は、それを削除できるようになりました。

requestHandler.setCsrfRequestAttributeName("_csrf");

CSRF 違反からの保護

Spring Security 5.8 では、アプリケーションで CsrfToken を使用できるようにするためのデフォルトの CsrfTokenRequestHandler は CsrfTokenRequestAttributeHandler です。XorCsrfTokenRequestAttributeHandler が追加され、CSRF BREACH サポートを選択できるようになりました。

Spring Security 6 では、XorCsrfTokenRequestAttributeHandler は、CsrfToken を使用可能にするためのデフォルトの CsrfTokenRequestHandler です。6.0 への更新のみを目的として XorCsrfTokenRequestAttributeHandler を構成した場合は、完全に削除できます。

遅延トークンをオプトアウトするために csrfRequestAttributeName を null に設定した場合、またはその他の理由で CsrfTokenRequestHandler を構成した場合は、構成をそのままにしておくことができます。

WebSocket をサポートする CSRF 違反

Spring Security 5.8 では、WebSocket セキュリティで CsrfToken を使用可能にするためのデフォルトの ChannelInterceptor は CsrfChannelInterceptor です。XorCsrfChannelInterceptor が追加され、CSRF BREACH サポートを選択できるようになりました。

Spring Security 6 では、XorCsrfChannelInterceptor は、CsrfToken を使用可能にするためのデフォルトの ChannelInterceptor です。6.0 への更新のみを目的として XorCsrfChannelInterceptor を構成した場合は、完全に削除できます。