Spring Security 原理與實戰

鄭天民

  • 出版商: 人民郵電
  • 出版日期: 2022-03-01
  • 售價: $479
  • 貴賓價: 9.5$455
  • 語言: 簡體中文
  • 頁數: 200
  • ISBN: 7115577897
  • ISBN-13: 9787115577894
  • 相關分類: Java 相關技術資訊安全
  • 立即出貨

  • Spring Security 原理與實戰-preview-1
  • Spring Security 原理與實戰-preview-2
Spring Security 原理與實戰-preview-1

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

商品描述

本書主要介紹基於 Spring Security 構建系統安全性的技術體系和工程實踐。圍繞安全性需求,本書討論Spring Security框架所提供的各項解決方案,包括認證、授權、加密、CSRF保護、CORS、方法級安全訪問、OAuth2協議、微服務架構、JWT、單點登錄等核心功能。同時,本書基於這些功能構建了完整的三個案例系統,並給出了具體的實現過程和示例代碼。

本書面向廣大服務端開發人員,讀者不需要有很深的技術功底,也不限於特定的開發語言,但熟悉Java EE常見技術並掌握一定系統設計基本概念有助於更好地理解書中的內容。同時,本書也適合對安全性實現技術感興趣的開發人員學習。

作者簡介

郑天民,日本足利工业大学信息工程学硕士,拥有 10 余年软件行业从业经验,目前在一家大健康领域的创新型科技公司担任CTO,负责产品研发与技术团队管理工作。开发过 10 余个面向研发人员的技术和管理类培训课程项目,在架构设计和技术管理方面具有丰富的经验和深入的理解。他还是阿里云MVP、腾讯云TVP、TGO鲲鹏会会员。著有《Apache ShardingSphere实战》《Spring响应式微服务Spring Boot 2+Spring 5+Spring Cloud实战》《系统架构设计》《向技术管理者转型》《微服务设计原理与架构》《微服务架构实战》等图书。

目錄大綱

第 1篇 Spring Security概述

第 1章 直面Spring Security 3

1.1 Spring Security概覽 3

1.2 Spring Security功能體系 4

1.2.1 Spring Security與單體應用 5

1.2.2 Spring Security與微服務架構 7

1.2.3 Spring Security與響應式系統 8

1.3 Spring Security配置體系 9

1.4 全書內容架構 10

1.5 本章小結 11

第 2篇 認證和授權

第 2章 用戶認證 15

2.1 HTTP基礎認證和表單登錄認證 15

2.1.1 HTTP基礎認證 16

2.1.2 表單登錄認證 17

2.2 配置Spring Security用戶認證體系 18

2.2.1 使用基於內存的用戶信息存儲方案 19

2.2.2 使用基於數據庫的用戶信息存儲方案 19

2.3 Spring Security中的用戶對象和認證對象 21

2.3.1 Spring Security中的用戶對象 21

2.3.2 Spring Security中的認證對象 24

2.4 實現定製化用戶認證方案 27

2.4.1 擴展UserDetails 27

2.4.2 擴展UserDetailsService 28

2.4.3 擴展AuthenticationProvider 29

2.5 本章小結 31

第3章 訪問授權 33

3.1 Spring Security中的權限和角色 33

3.1.1 基於權限進行訪問控制 34

3.1.2 基於角色進行訪問控制 35

3.2 使用配置方法控制訪問權限 37

3.2.1 MVC匹配器 38

3.2.2 Ant匹配器 39

3.2.3 正則表達式匹配器 40

3.3 Spring Security授權流程 41

3.3.1 攔截請求 43

3.3.2 獲取權限配置 43

3.3.3 執行授權決策 46

3.4 本章小結 49

第4章 密碼安全 51

4.1 密碼編碼器 51

4.1.1 PasswordEncoder抽象 52

4.1.2 自定義PasswordEncoder 54

4.1.3 代理式DelegatingPasswordEncoder 55

4.2 Spring Security加密模塊 59

4.3 本章小結 60

第5章 案例實戰:實現自定義用戶認證體系 61

5.1 案例設計和初始化 61

5.1.1 案例設計 61

5.1.2 系統初始化 62

5.2 實現自定義用戶認證 65

5.2.1 實現用戶管理 65

5.2.2 實現認證流程 67

5.2.3 實現安全配置 68

5.3 本章小結 70

第3篇 擴展插件

第6章 過濾器 73

6.1 Spring Security過濾器架構 73

6.1.1 Servlet與管道-過濾器模式 73

6.1.2 Spring Security中的過濾器鏈 74

6.2 實現自定義過濾器 75

6.2.1 開發過濾器 75

6.2.2 配置過濾器 77

6.3 Spring Security中的過濾器 78

6.4 本章小結 80

第7章 CSRF和CORS 81

7.1 使用Spring Security提供CSRF保護 81

7.1.1 CSRF基本概念 81

7.1.2 使用CsrfFilter 82

7.1.3 定製化CSRF保護 85

7.2 使用Spring Security實現CORS 87

7.2.1 CORS基本概念 87

7.2.2 使用CorsFilter 88

7.2.3 使用@CrossOrigin註解 88

7.3 本章小結 89

第8章 全局方法安全 91

8.1 全局方法安全機制 91

8.2 使用註解實現方法級別授權 92

8.2.1 @PreAuthorize註解 92

8.2.2 @PostAuthorize註解 94

8.3 使用註解實現方法級別過濾 95

8.3.1 @PreFilter註解 95

8.3.2 @PostFilter註解 96

8.4 本章小結 97

第9章 案例實戰:實現多因素認證機制 99

9.1 案例設計和初始化 99

9.1.1 多因素認證設計 99

9.1.2 系統初始化 100

9.2 實現多因素認證機制 101

9.2.1 實現認證服務 101

9.2.2 實現前端服務 103

9.3 本章小結 109

第4篇 微服務安全

第 10章 OAuth2協議 113

10.1 OAuth2協議詳解 113

10.1.1 OAuth2協議的應用場景 113

10.1.2 OAuth2協議的角色 115

10.1.3 OAuth2協議的令牌 116

10.1.4 OAuth2協議的授權模式 117

10.2 OAuth2授權服務器 118

10.2.1 構建OAuth2授權服務器 118

10.2.2 設置客戶端和用戶認證信息 119

10.2.3 生成令牌 123

10.3 本章小結 124

第 11章 OAuth2協議與微服務架構 125

11.1 集成OAuth2協議與微服務架構 125

11.1.1 微服務架構技術體系 125

11.1.2 OAuth2協議與微服務架構集成方式 129

11.2 在微服務中嵌入訪問授權控制 132

11.2.1 用戶層級的權限訪問控制 132

11.2.2 用戶+角色層級的權限訪問控制 133

11.2.3 用戶+角色+請求方法層級的權限訪問控制 133

11.3 在微服務中傳播令牌 134

11.4 本章小結 135

第 12章 JWT概述 137

12.1 JWT 137

12.1.1 JWT的基本結構 137

12.1.2 JWT的優勢 138

12.2 集成OAuth2協議與JWT 138

12.3 在微服務中使用JWT 141

12.3.1 從HTTP請求中獲取JWT令牌 142

12.3.2 以線程安全的方式存儲JWT令牌 142

12.3.3 將JWT令牌嵌入RestTemplate請求中 143

12.4 本章小結 144

第 13章 單點登錄 145

13.1 單點登錄架構 145

13.1.1 單點登錄與OAuth2協議 145

13.1.2 單點登錄的工作流程 146

13.2 實現SSO服務器端 147

13.2.1 配置基礎認證和授權信息 147

13.2.2 配置OAuth2授權服務器 148

13.3 實現SSO客戶端 150

13.4 本章小結 152

第 14章 案例實戰:構建微服務安全架構 153

14.1 案例設計和初始化 153

14.1.1 案例業務模型 153

14.1.2 案例設計 155

14.2 構建微服務基礎設施組件 157

14.2.1 註冊中心 157

14.2.2 配置中心 159

14.2.3 服務網關 162

14.3 實現業務服務 165

14.3.1 集成微服務基礎組件 165

14.3.2 實現業務流程 170

14.4 集成和擴展JWT 172

14.4.1 集成JWT 172

14.4.2 擴展JWT 173

14.5 本章小結 176

第5篇 響應式安全

第 15章 響應式Spring Security 179

15.1 響應式編程和Spring框架 179

15.1.1 響應式編程的基本概念 179

15.1.2 Project Reactor 181

15.1.3 Spring WebFlux 184

15.2 響應式Spring Security 185

15.2.1 響應式用戶認證 185

15.2.2 響應式授權機制 187

15.2.3 響應式方法級別訪問控制 188

15.3 本章小結 189

第 16章 測試Spring Security 191

16.1 測試系統安全性 191

16.1.1 安全性測試與Mock機制 191

16.1.2 Spring Security測試解決方案 192

16.2 測試Spring Security功能 194

16.2.1 測試用戶 194

16.2.2 測試認證 196

16.2.3 測試全局方法安全 197

16.2.4 測試CSRF和CORS配置 198

16.3 本章小結 200