所有分类
  • 所有分类
  • 在线课堂
  • 精品课程
  • 课件资料
  • 资料手册
文档家VIP会员升级

深入浅出Spring Security 王松 2021年版

深入浅出Spring Security  

作者:王松  

出版时间:2021年版 

内容简介 

Spring Security是Java企业级开发中常用的安全管理框架,也能完美支持OAuth2。同时,Spring Security作为Spring家族的一员,与Spring Boot、Spring Cloud等框架整合使用也非常方便。 

本书分为15章,讲解Spring Security框架、认证、认证流程分析、过滤器链分析、密码加密、RememberMe、会话管理、HttpFirewall、漏洞保护、HTTP认证、跨域问题、异常处理、权限管理、权限模型、OAuth2等内容。本书致力于让读者在学会Spring Security用法的同时,也能通过阅读源码来理解它的实现原理。 

本书适合具有Spring Boot基础的读者、Java企业应用开发工程师,也适合作为高等院校和培训机构计算机相关专业师生的教学参考书。 

目录 

第1章 Spring Security架构概览 1 

1.1 Spring Security简介 1 

1.2 Spring Security核心功能 2 

1.2.1 认证 3 

1.2.2 授权 3 

1.2.3 其他 3 

1.3 Spring Security整体架构 4 

1.3.1 认证和授权 4 

1.3.2 Web安全 6 

1.3.3 登录数据保存 9 

1.4 小结 9 

第2章 Spring Security认证 10 

2.1 Spring Security基本认证 10 

2.1.1 快速入门 10 

2.1.2 流程分析 11 

2.1.3 原理分析 12 

2.2 登录表单配置 19 

2.2.1 快速入门 19 

2.2.2 配置细节 23 

2.3 登录用户数据获取 39 

2.3.1 从SecurityContextHolder中获取 41 

2.3.2 从当前请求对象中获取 59 

2.4 用户定义 64 

2.4.1 基于内存 64 

2.4.2 基于JdbcUserDetailsManager 65 

2.4.3 基于MyBatis 68 

2.4.4 基于Spring Data JPA 74 

2.5 小结 77 

第3章 认证流程分析 78 

3.1 登录流程分析 78 

3.1.1 AuthenticationManager 78 

3.1.2 AuthenticationProvider 79 

3.1.3 ProviderManager 86 

3.1.4 AbstractAuthenticationProcessingFilter 89 

3.2 配置多个数据源 94 

3.3 添加登录验证码 95 

3.4 小结 99 

第4章 过滤器链分析 100 

4.1 初始化流程分析 100 

4.1.1 ObjectPostProcessor 101 

4.1.2 SecurityFilterChain 102 

4.1.3 SecurityBuilder 103 

4.1.4 FilterChainProxy 117 

4.1.5 SecurityConfigurer 120 

4.1.6 初始化流程分析 128 

4.2 ObjectPostProcessor使用 136 

4.3 多种用户定义方式 137 

4.4 定义多个过滤器链 141 

4.5 静态资源过滤 144 

4.6 使用JSON格式登录 146 

4.7 添加登录验证码 150 

4.8 小结 152 

第5章 密码加密 153 

5.1 密码为什么要加密 153 

5.2 密码加密方案进化史 154 

5.3 PasswordEncoder详解 154 

5.3.1 PasswordEncoder常见实现类 155 

5.3.2 DelegatingPasswordEncoder 156 

5.4 实战 159 

5.5 加密方案自动升级 161 

5.6 是谁的PasswordEncoder 166 

5.7 小结 168 

第6章 RememberMe 169 

6.1 RememberMe简介 169 

6.2 RememberMe基本用法 170 

6.3 持久化令牌 172 

6.4 二次校验 174 

6.5 原理分析 176 

6.6 小结 189 

第7章 会话管理 190 

7.1 会话简介 190 

7.2 会话并发管理 191 

7.2.1 实战 191 

7.2.2 原理分析 194 

7.3 会话固定攻击与防御 206 

7.3.1 什么是会话固定攻击 206 

7.3.2 会话固定攻击防御策略 207 

7.4 Session共享 208 

7.4.1 集群会话方案 208 

7.4.2 实战 210 

7.5 小结 212 

第8章 HttpFirewall 213 

8.1 HttpFirewall简介 213 

8.2 HttpFirewall严格模式 215 

8.2.1 rejectForbiddenHttpMethod 216 

8.2.2 rejectedBlacklistedUrls 217 

8.2.3 rejectedUntrustedHosts 218 

8.2.4 isNormalized 219 

8.2.5 containsOnlyPrintableAsciiCharacters 220 

8.3 HttpFirewall普通模式 220 

8.4 小结 221 

第9章 漏洞保护 222 

9.1 CSRF攻击与防御 222 

9.1.1 CSRF简介 222 

9.1.2 CSRF攻击演示 223 

9.1.3 CSRF防御 224 

9.1.4 源码分析 231 

9.2 HTTP响应头处理 237 

9.2.1 缓存控制 239 

9.2.2 X-Content-Type-Options 240 

9.2.3 Strict-Transport-Security 241 

9.2.4 X-Frame-Options 244 

9.2.5 X-XSS-Protection 245 

9.2.6 Content-Security-Policy 246 

9.2.7 Referrer-Policy 248 

9.2.8 Feature-Policy 249 

9.2.9 Clear-Site-Data 249 

9.3 HTTP通信安全 250 

9.3.1 使用HTTPS 250 

9.3.2 代理服务器配置 253 

9.4 小结 254 

第10章 HTTP认证 255 

10.1 HTTP Basic authentication 255 

10.2 HTTP Digest authentication 260 

10.3 小结 268 

第11章 跨域问题 269 

11.1 什么是CORS 269 

11.2 Spring处理方案 270 

11.3 Spring Security处理方案 274 

11.4 小结 279 

第12章 异常处理 280 

12.1 Spring Security异常体系 280 

12.2 ExceptionTranslationFilter原理分析 281 

12.3 自定义异常配置 287 

12.4 小结 290 

第13章 权限管理 291 

13.1 什么是权限管理 291 

13.2 Spring Security权限管理策略 292 

13.3 核心概念 292 

13.4 基于URL地址的权限管理 305 

13.5 基于方法的权限管理 325 

13.6 小结 338 

第14章 权限模型 339 

14.1 常见的权限模型 339 

14.2 ACL 340 

14.3 RBAC 354 

14.4 小结 357 

第15章 OAuth2 358 

15.1 OAuth2简介 358 

15.2 OAuth2四种授权模式 359 

15.3 Spring Security OAuth2 364 

15.4 GitHub授权登录 365 

15.5 授权服务器与资源服务器 379 

15.6 使用Redis 397 

15.7 客户端信息存入数据库 399 

15.8 使用JWT 401 

15.9 小结 406 

资源下载
资源下载
0
文档家VIP会员升级
没有账号?注册  忘记密码?

社交账号快速登录