Spring Security 原理與實戰
鄭天民
買這商品的人也買了...
-
$779$740 -
$474$450 -
$680$530 -
$207算法設計指南, 2/e (The Algorithm Design Manual, 2/e)
-
$520$338 -
$588$559 -
$539$512 -
$600$468 -
$474$450 -
$780$663 -
$980$774 -
$880$695 -
$774$735 -
$505大數據高並發 Redis 一本通
-
$620$465 -
$356Spring Boot + Spring Cloud + Docker 微服務架構開發實戰
-
$834$792 -
$1,000$660 -
$580$458 -
$560$420 -
$594$564 -
$454ZooKeeper + Dubbo3 分佈式高性能 RPC 通信
-
$560$442 -
$594$564 -
$580$458
相關主題
商品描述
本書主要介紹基於 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