一夜之間火爆GitHub的好文!!阿里資深架構師整理分享(內部)的SpringSecurity實戰技術檔案,看完我立馬跪了!!

2020-09-22 11:00:39

前言

SpringSecurity是一個強大且高度可客製化的安全框架,致力於為Java應用提供身份認證和授權。

Spring Security 的前身是 Acegi Security,在被收納為Spring子專案後正式更名為Spring Security。在筆者成書時,Spring Security已經升級到5.1.3.RELEASE版本,不僅新增了原生OAuth框架,還支援更加現代化的密碼加密方式。可以預見,在 Java 應用安全領域,Spring Security會成為首先被推崇的安全解決方案。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

希望大家能夠仔仔細細的品讀本文內容,實實在在的掌握到自己的手中,並且能夠靈活的運用到實際的工作中去 ,不斷強大自身,增加自己的技術深度和寬度,希望能夠幫助到大家的學習,也希望能夠得到大家的喜歡!!

本文將從目錄、主要內容、還有面向讀者三部分給大家進行介紹,希望大家能夠仔細閱讀!!

目錄

阿里資深架構師整理分享的SpringSecurity實戰文件

 

主要內容

本文通過4部分,14章的內容由淺入深地介紹了Spring Security的方方面面。

第1部分主要講解Spring Security的基本設定;

第1章初識Spring Security,Spring Security 的前身是 Acegi Security,在被收納為Spring子專案後正式更名為Spring Security。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第2章表單認證,在第1章中,我們初步引入了SpringSecurity,並使用其預設生效的HTTP基本認證來保護URL資源,本章我們使用表單認證來保護URL資源。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第3章認證與授權,在第2章中,我們沿用了Spring Security預設的安全機制:僅有一個使用者,僅有一種角色。在實際開發中,這自然是無法滿足需求的。本章將更加深入地對Spring Security迚行設定,且初步使用授權機制。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第2部分剖析Web專案可能遇到的安全問題,並講解如何使用SpringSecurity進行有效防護;

第4章實現圖形驗證碼,在驗證使用者名稱和密碼前,引入輔助驗證可有效防範暴力試錯,圖形驗證碼就是簡單且行有效的一種輔助驗證方式。下面將使用過濾器和自定義認證兩種方式實現圖形驗證碼功能。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第5章自動登入和登出登入,關於網站的安全設計,通常是有一些矛盾點的。我們在作為某些系統開發者的同時,也在充當著另外一些系統的使用者,一些感同身受的東西可以帶來很多思考。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第6章對談管理,只需在兩個瀏覽器中用同一個賬號登入就會發現,到目前為止,系統尚未有任何對談並行限制。一個賬戶能多處同時登入可不是一個好的策略。事實上,Spring Security已經為我們提供了完善的對談管理功能,包括對談固定攻擊、對談超時檢測以及對談並行控制。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第7章密碼加密,密碼安全是網際網路安全的一個縮影,我們在享受網際網路服務的同時,也應當對它投入更多的關注。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第8章跨域與CORS,跨域是一種瀏覽器同源安全策略,即瀏覽器單方面限制指令碼的跨域存取。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第9章跨域請求偽造的防護,CSRF的全稱是(Cross Site Request Forgery),可譯為跨域請求偽造,是一種利用使用者帶登入態的cookie迚行安全操作的攻擊方式。CSRF實際上並不難防,但常常被系統開發者忽略,從而埋下巨大的安全隱患。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第10章單點登入與CAS,單點登入(Single Sign On,SSO)是指在多個應用系統中,只需登入一次,即可同時以登入態共用企業所有相關又彼此獨立的系統的功能。對於旗下擁有眾多系統的企業來說,單點登入不僅降低了使用者的登入成本,統一了不同系統間的賬號體系,還減少了各個系統在使用者設計上付出的精力。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第11章HTTP認證,除系統內維護的使用者名稱和密碼認證技術外,SpringSecurity還支援HTTP層面的認證技術,包括HTTP基本認證和HTTP摘要認證兩種。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第12章@EnableWebSecurity與過濾器鏈機制,為什麼加上@EnableWebSecurity註解就可以讓Spring Security起作用?Spring Security又是通過什麼方式來攔截請求並執行認證的?下面就帶著這兩個問題,深入原始碼一探究竟。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第3部分詳細介紹OAuth,並使用Spring Social整合Spring Security,實現QQ快捷登入;

第13章用Spring Social實現OAuth對接,OAuth 解決了在使用者不提供密碼給第三方應用的情況下,讓第三方應用有權獲取使用者資料以及基本資訊的難題。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

第4部分重點介紹Spring Security OAuth框架,剖析Spring Security OAuth的部分核心原始碼。

第14章用Spring Security OAuth實現OAuth對接,Spring Security OAuth是一個專注於OAuth認證的框架,它完整覆蓋了使用者端、資源服務和認證服務三個模組。這三個模組分別在Spring Security 5.0、5.1和5.3三個版本中被整合,原有的獨立專案則進入維護狀態。

阿里資深架構師整理分享的SpringSecurity實戰文件

 

這份【SpringSecurity實戰】共有319頁,需要完整版的朋友,轉發+評論,關注我私信回覆「666」即可免費獲取!

阿里資深架構師整理分享的SpringSecurity實戰文件

 

本文面向的讀者

本文包含Spring Security Java設定、Spring Security安全防護和原始碼導讀;

詳細講解OAuth2實戰,並簡單剖析部分OAuth2核心原始碼;

本文主要面向有一定Java基礎的讀者,以及希望在實際專案中應用Spring Security的開發人員。

希望本文能夠幫助到大家的學習,也希望大家能夠把技術內容全部掌握,運用到實際專案開發工作中去!!!