Spring Security 7.0 の新機能
Spring Security 7.0 には、いくつかの新機能があります。以下はリリースのハイライトです。また、各機能とバグ修正の詳細なリストについては、リリースノート [GitHub] (英語) を参照してください。
削除
メジャーリリースであるため、Spring Security 7 では非推奨の API がいくつか削除されています。以降の各セクションでは、特に注目すべき削除内容と、そのモジュールの新機能について説明します。
モジュール
Spring Security Kerberos 拡張 [GitHub] (英語) は現在 Spring Security の一部です。詳細はリファレンスの Kerberos セクションを参照してください。
Spring Authorization Server [GitHub] (英語) は現在 Spring Security の一部です。詳細はリファレンスの OAuth 2.0 認可サーバーセクションを参照してください。
コア
多要素認証のサポートを追加
AuthorizationManager#checkを削除してAuthorizationManager#authorizeに変更しましたAllAuthoritiesAuthorizationManager(Javadoc) およびAllAuthoritiesReactiveAuthorizationManager(Javadoc) を、HttpServletRequestsの承認およびメソッドセキュリティ式の対応するメソッドとともに追加しました。リクエストベースおよびメソッドベースの認可コンポーネントで
AuthorizationManagerインスタンスを作成するためのAuthorizationManagerFactoryを追加しましたAuthenticationインスタンスの変異とマージのためのAuthentication.Builder(Javadoc) を追加しましたアクセス API (
AccessDecisionManager、AccessDecisionVoterなど) を新しいモジュールspring-security-accessに移動しました
構成
ラムダメソッドの使用を優先して、
HttpSecurityDSL からand()を削除しました。authorizeRequestsを削除してauthorizeHttpRequestsに変更しましたauthorizeRequestsの簡略化された式移行SPA ベースの CSRF 設定のサポートを追加しました
不足している権限を認証メカニズムにバインドする (Javadoc) ためのサポートが追加されました。
- Java
http.csrf((csrf) -> csrf.spa());
OAuth 2.0
パスワード付与のサポートを削除しました
HTTP サービスクライアントに OAuth2 サポートを追加しました
NimbusJwtDecoderにカスタムJwkSourceのサポートを追加し、Nimbus のJwkSourceBuilderAPI の使用を可能にしました。NimbusJwtEncoderのビルダーを追加しました。EC または RSA キーペアまたは秘密鍵の指定をサポートします型レベルでの
@ClientRegistrationIdのサポートが追加され、メソッドレベルの繰り返しが不要になりました。OAuth 2.0 動的登録プロトコル [GitHub] (英語) のサポートを追加
OAuth 2.0 認可サーバーでデフォルトで PKCE [GitHub] (英語) を有効にする
SAML 2.0
AssertingPartyDetailsクラスに基づく API メソッドを削除し、AssertingPartyMetadataインターフェースを採用しました。Saml2AuthenticationTokenConverterから GET リクエストのサポートを削除しましたJDBC ベースの
AssertingPartyMetadataRepositoryを追加検証に失敗しても SLO が
<saml2:LogoutResponse>を返すようにしましたOpen SAML 4 のサポートが削除されました。アプリケーションは Open SAML 5 に移行する必要があります。
Web
MvcRequestMatcherとAntPathRequestMatcherを削除し、PathPatternRequestMatcherを導入しました。Spring MVC コントローラーを介して承認プロキシで例外を伝播するためのサポートを追加しました
Spring MVC 型の承認済みオブジェクトのサポートを追加しました
デフォルトのログインページに、
factor.typeおよびfactor.reasonパラメーターに基づく要素を表示するためのサポートを追加しました。LoginUrlAuthenticationEntryPoint をデフォルトで相対リダイレクトを優先するように変更しました