Spring Security學(xué)習(xí):04.Spring Security 4.1 的新特性

案例代碼

因為 Spring Security 是一個開源項目,我們強(qiáng)烈建議你check out github上的代碼。你將可以看到所有的案例應(yīng)用以及如何使用最新的 Spring Security API來構(gòu)建應(yīng)用。在進(jìn)行調(diào)試的時候,有源碼也是非常有幫助的。異常棧的追蹤不再是黑盒,你可以直接定位引起問題的那一行代碼來查看到底發(fā)生了什么。對于一個項目而言,源代碼是其終極文檔,而且通常是發(fā)現(xiàn)事情是如何進(jìn)行的最簡單的地方。

要獲得這個項目的源碼,使用如下的git命令

git?clone?https://github.com/spring-projects/spring-security.git

這將會為你提供在本機(jī)上訪問項目完整歷史(包含所有正式發(fā)行版和分支)的途徑。

Java配置改進(jìn)

簡化UserDetailService的Java配置

簡化AuthenticationProvider的Java配置

可通過LogoutConfigurer根據(jù)不同情況配置使用不同的LogoutSuccessHandler

可通過SessionManagementConfigurer配置InvalidSessionStrategy?

可通過HttpSecurity.addFilterAt在過濾器鏈的指定位置上添加一個Filter

Web應(yīng)用的安全改進(jìn)

內(nèi)容安全策略(Content Security Policy (CSP))

HTTP公鑰固定擴(kuò)展(HTTP Public Key Pinning (HPKP)

CookieCsrfTokenRepository提供對AngularJS的簡單的CSRF集成

添加ForwardAuthenticationFailureHandler?和ForwardAuthenticationSuccessHandler

AuthenticationPrincipal支持通過表達(dá)式屬性來轉(zhuǎn)換Authentication.getPrincipal()的返回對象(例如處理一個不可變的自定義用戶對象)。

授權(quán)提升(Authorization Improvements?)

Path Variables in Web Security Expressions

Method Security Meta Annotations

Crypto模塊提升

通過SCryptPasswordEncoder支持SCrypt

通過Pbkdf2PasswordEncoder支持PBKDF2

為使用AES/CBC/PKCS5Padding和AES/GCM/NoPadding算法的BouncyCastle提供新的BytesEncryptor實現(xiàn)。

測試提升

@WithAnonymousUser

@WithUserDetails?允許指定UserDetailsService??Bean的名稱

Test Meta Annotations

通過SecurityMockMvcResultMatchers.withAuthorities模擬一個GrantedAuthority?列表的能力

一般性提升

重新組織案例項目

issues移植到GitHub上。

免費(fèi)學(xué)習(xí)視頻歡迎關(guān)注云圖智聯(lián):https://e.yuntuzhilian.com/?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容