Spring Security 7.0 新特性

Spring Security 7.0 提供了多項新功能。以下是本次釋出的亮點,您也可以檢視釋出說明以獲取每個功能和錯誤修復的詳細列表。

移除

作為一個主要版本,Spring Security 7 中移除了一些已廢棄的 API。以下每個部分都將指出更值得注意的移除以及該模組中的新功能。

模組

核心

配置

  • 支援 ServletWebFlux 中的模組化配置。

  • HttpSecurity DSL 中移除了 and(),轉而使用 lambda 方法。

  • 移除了 authorizeRequests,取而代之的是 authorizeHttpRequests

  • 簡化了 authorizeRequests 的表示式遷移。

  • 增加了對基於 SPA 的 CSRF 配置的支援。

  • 增加了對將缺失許可權繫結到認證機制的支援。

    Java
    http.csrf((csrf) -> csrf.spa());

加密

  • 增加了基於 Password4j 的密碼編碼器,為流行的雜湊演算法提供了替代實現。

    • Argon2Password4jPasswordEncoder - Argon2

    • BcryptPassword4jPasswordEncoder - BCrypt

    • ScryptPassword4jPasswordEncoder - SCrypt

    • Pbkdf2Password4jPasswordEncoder - PBKDF2

    • BalloonHashingPassword4jPasswordEncoder - Balloon Hashing

資料

  • 增加了對 Spring Data 型別的授權物件支援。

LDAP

  • 移除了 ApacheDsContainer 及相關的 Apache DS 支援,轉而支援 UnboundID。

OAuth 2.0

  • 移除了對密碼授權的支援。

  • 增加了對 HTTP 服務客戶端的 OAuth2 支援。

  • 增加了對 NimbusJwtDecoder 中自定義 JwkSource 的支援,允許使用 Nimbus 的 JwkSourceBuilder API。

  • 增加了 NimbusJwtEncoder 的構建器,支援指定 EC 或 RSA 金鑰對或秘密金鑰。

  • 增加了在型別級別支援 @ClientRegistrationId,消除了方法級別的重複需求。

  • 增加了對OAuth 2.0 動態註冊協議的支援。

  • 在 OAuth 2.0 授權伺服器中預設啟用 PKCE

SAML 2.0

  • 移除了基於 AssertingPartyDetails 類的 API 方法,轉而支援 AssertingPartyMetadata 介面。

  • Saml2AuthenticationTokenConverter 中移除了 GET 請求支援。

  • 增加了基於 JDBC 的 AssertingPartyMetadataRepository

  • 修改了 SLO,使其在驗證失敗時仍返回 <saml2:LogoutResponse>

  • 移除了 Open SAML 4 支援;應用程式應遷移到 Open SAML 5。

Web

  • 移除了 MvcRequestMatcherAntPathRequestMatcher,取而代之的是 PathPatternRequestMatcher

  • 增加了 SubjectX500PrincipalExtractor

  • 增加了對透過 Spring MVC 控制器在授權代理中傳播異常的支援。

  • 增加了對 Spring MVC 型別的授權物件支援。

  • 增加了對預設登入頁面的支援,使其能夠根據 factor.typefactor.reason 引數顯示因子。

  • 修改了 LoginUrlAuthenticationEntryPoint,預設情況下傾向於相對重定向。

© . This site is unofficial and not affiliated with VMware.