Spring 安全框架 Spring Security 5.1 GA 現已正式發佈!
POM
org.springframework.security
spring-security-web
5.1.0.RELEASE
org.springframework.security
spring-security-config
5.1.0.RELEASE
該版本關閉了 50+ 的 issue,此外,Spring Security 5.1 也提供了大量的新特性,值得關注的有:
Servlet
- 通過 UserDetailsPasswordService 對密碼存儲進行自動升級
- OAuth 2.0 Client
- 可自定義的授權和 Token 請求(Authorize and Token requests)
- 支持 authorization_code grant
- 支持 client_credentials grant
- OAuth 2.0 資源服務器 - 支持 JWT-encoded bearer tokens
- 添加 OAuth2 WebClient 集成
- HTTP Firewall 可防止篡改 HTTP 動詞和跨站點跟蹤
- ExceptionTranslationFilter 支持通過 RequestMatcher 選擇 AccessDeniedHandler
- CSRF 支持排除某些請求
- 添加對 特性策略(Feature Policy) 的支持
- 添加 @Transient authentication tokens
- 默認登錄頁面的現代化外觀
WebFlux
- 通過 ReactiveUserDetailsPasswordService 對密碼存儲進行自動升級
- 添加對 OAuth2 的支持
- 添加對 OAuth2 Client 的支持
- 添加對 OAuth2 Resource Server 的支持
- 添加對 OAuth2 WebClient 的集成
- @WithUserDetails 現在可以和 ReactiveUserDetailsService 搭配使用
- 添加對 CORS 的支持
- 添加對以下 HTTP headers 的支持
- Content Security Policy
- Feature Policy
- Referrer Policy
- 重定向至 HTTPS
- @AuthenticationPrincipal 的改進
- 支持對 beans 的解析
- 支持解析 errorOnInvalidType
Integrations
- Jackson 支持和 BadCredentialsException 一起搭配使用
- @WithMockUser 支持在測試中設置 SecurityContext 時進行自定義。例如, @WithMockUser(setupBefore = TestExecutionEvent.TEST_EXECUTION) 將在 JUnit 的 @Before 之後和測試執行之前對用戶進行設置
- 可以使用自定義環境變量配置 LDAP 身份驗證
- X.509 身份驗證 支持將主體(principal)派生為策略
詳情請查看 https://docs.spring.io/spring-security/site/docs/5.1.0.RELEASE/reference/htmlsingle/#new
Spring Security 的前身是 Acegi Security ,是 Spring 項目組中用來提供安全認證服務的框架。
Spring Security 為基於 J2EE 企業應用軟件提供了全面安全服務。特別是使用領先的 J2EE 解決方案-Spring 框架開發的企業軟件項目。人們使用 Spring Security 有很多種原因,不過通常吸引他們的是在 J2EE Servlet 規範或 EJB 規範中找不到典型企業應用場景的解決方案。
開源中國旨在為中國IT技術人員提供一個全面的、快捷更新的用來檢索開源軟件以及交流使用開源經驗的平臺,目前已收錄45000多款開源軟件。關注開源中國OSC頭條號,每日獲取開源軟件推薦,點擊“瞭解更多”閱讀原文,獲取 Spring Security 的詳細介紹與下載地址。
閱讀更多 開源社區OSC 的文章