Spring Security 原理與實戰:構建安全可靠的微服務

鄒炎

買這商品的人也買了...

商品描述

本書從軟件架構的安全性設計入手,幫助讀者建立起微服務架構安全的設計思路;
然後拾級而上,梳理Spring Security安全框架的架構和關鍵模塊的同時,著力於構建安全可靠的微服務,
細緻講解了認證流程分析、過濾器鏈分析、密碼加密、會話管理、漏洞保護、
HTTP認證、跨域問題、異常處理、權限管理、權限模型、OAuth2等內容,
最後從實踐層面給出了基於Spring Security OAuth2與JWT構建微服務安全的綜合案例。

目錄大綱

第1章無所不在的軟件安全
1.1 軟件應用涉及的安全範圍
1.1.1 基礎設施之硬件層面
1.1.2 公共服務之軟件層面
1.2 軟件層面的安全風險與經驗對策
1.2.1 身份認證
經驗分享:如何應對弱密碼
經驗分享:如何應對session或token異常
1.2.2 訪問控制
經驗分享:如何應對非法訪問
1.2.3 應用數據
經驗分享:如何應對數據的明文傳輸
經驗分享:如何應對數據的明文存儲
微服務的軟件安全解決方案
1.3.1 微服務架構與單體架構下軟件安全的不同
1.3.2 微服務架構下身份認證
經驗分享:不同的身份認證解決方案應該如何選擇
1.3.3 微服務架構下的訪問控制
經驗分享:不同的訪問控制解決方案應該如何選擇
1.3.4 如何處理微服務架構下的軟件安全
1.4 主流的安全框架
1.4.1 簡單易用的輕量級安全框架——Apache Shiro
1.4.2 功能強大的重量級安全框架——Spring Security
第2章安全框架Spring Security
2.1 Spring Security的前世今生
2.2 Spring Security整體工作流程與知識回顧
2.2.1 Spring Security整體工作流程
2.2.2 了解原理前的知識回顧:Servlet 與Filter過濾器
2.3 Spring Security架構實現原理
2.3.1 過濾器代理
源碼解析:DelegatingFilterProxy與GenericFilterBean
源碼解析:FilterChainProxy
2.3.2 過濾器鏈
源碼解析: SecurityFilterChain、RequestMatcher與FilterOrderRegistration
2.3.3 異常處理部分
源碼解析:ExceptionTranslationFilter
2.4 Spring Security核心功能
2.4.1 判斷用戶是誰——認證
2.4.2 確定用戶權限——授權
2.4.3 全方位防護——針對常見漏洞的保護
第3章Spring Security基礎使用
3.1 Spring Security的使用方式
3.1.1 通過Maven進行使用
3.1.2 通過Gradle進行使用
3.2 Spring Boot集成Spring Security
3.2.1 選定框架及版本
3.2.2 項目初始化
3.2.3 代碼編寫
3.3 項目啟動測試
經驗分享:啟動日誌與用戶名密碼等問題的解析
3.4 模塊分析
3.4.1 結合示例項目建立模塊認識
3.4.2 全面了解內部模塊
第4章認證
4.1 認證的基本架構
4.1.1 認證的基本處理流程
4.1.2 認證的內部處理機制
4.2常用的基礎認證子功能
4.2.1 用戶名密碼認證
經驗分享:新版本Spring Security中如何自定義配置使用表單認證
4.2.2 匿名認證
經驗分享:新版本Spring Security中如何自定義配置使用匿名認證
4.2. 3 註銷
經驗分享:新版本Spring Security中如何自定義配置使用註銷
4.2.4 會話管理
經驗分享:新版本Spring Security如何自定義配置使用會話管理
4.2.5 Remember Me
經驗分享:新版本Spring Security中如何自定義配置使用Remember Me
第5章自定義認證實踐
5.1 自定義認證解決方案
5.1.1方案總目標及對應需求
5.1.2 方案流程圖
5.1.3 方案實現思路
5.2 項目初始化
5.3 自定義認證url路徑及界面
5.3.1 Spring Security配置類
5.3.2 自定義認證控制器
5.3.3 自定義認證界面
5.4 添加額外的驗證碼參數
5.4.1 自定義登錄界面修改
5.4.2 自定義身份認證對象
5.4.3 自定義認證過濾器
5.4.4 Spring Security配置類修改
5.5 用戶持久化及密碼加密
5.5.1數據庫的初始化
5.5.2 實體類及對應Mapper的實現
5.5.3 密碼加密的配置定義
5.6 身份認證邏輯處理
5.6.1 認證提供者及其相關service實現
5.6.2 認證成功與失敗後的後續處理
5.7 自定義註銷處理
5.7.1 自定義額外的註銷業務操作
5.7.2 Spring Security配置類關聯配置
5.8 項目啟動測試
5.8.1 測試前的補充及準備工作
5.8.2 測試驗證自定義認證
經驗分享:自定義認證實現後添加會話管理失效如何應對
第6章授權
6.1 授權的基本架構
6.1.1 授權的基本處理流程
經驗分享:新版本Spring Security中授權基本處理流程的相關變化
6.1.2 授權的內部處理機制
6.2 常用的授權子功能
6.2.1 權限表達式
6.2.2 基於url的授權
經驗分享:新版本Spring Security中如何自定義配置使用基於url的授權
6.2.3 基於方法的授權
經驗分享:新版本Sping Security中如何自定義配置使用基於方法的授權
第7章自定義授權實踐
7.1 自定義授權解決方案
7.1.1 方案總目標及對應需求
7.1.2 方案流程圖
7.1.3 方案實現思路
7.2 授權規則設置
7.2.1 Spring Security配置類
7.2.2 設置跳轉路徑授權規則
7.3 授權持久化