深入浅出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架构概览 11.1 Spring Security简介 11.2 Spring Security核心功能 21.2.1 认证 31.2.2 授权 31.2.3 其他 31.3 Spring Security整体架构 41.3.1 认证和授权 41.3.2 Web安全 61.3.3 登录数据保存 91.4 小结 9第2章 Spring Security认证 102.1 Spring Security基本认证 102.1.1 快速入门 102.1.2 流程分析 112.1.3 原理分析 122.2 登录表单配置 192.2.1 快速入门 192.2.2 配置细节 232.3 登录用户数据获取 392.3.1 从SecurityContextHolder中获取 412.3.2 从当前请求对象中获取 592.4 用户定义 642.4.1 基于内存 642.4.2 基于JdbcUserDetailsManager 652.4.3 基于MyBatis 682.4.4 基于Spring Data JPA 742.5 小结 77第3章 认证流程分析 783.1 登录流程分析 783.1.1 AuthenticationManager 783.1.2 AuthenticationProvider 793.1.3 ProviderManager 863.1.4 AbstractAuthenticationProcessingFilter 893.2 配置多个数据源 943.3 添加登录验证码 953.4 小结 99第4章 过滤器链分析 1004.1 初始化流程分析 1004.1.1 ObjectPostProcessor 1014.1.2 SecurityFilterChain 1024.1.3 SecurityBuilder 1034.1.4 FilterChainProxy 1174.1.5 SecurityConfigurer 1204.1.6 初始化流程分析 1284.2 ObjectPostProcessor使用 1364.3 多种用户定义方式 1374.4 定义多个过滤器链 1414.5 静态资源过滤 1444.6 使用JSON格式登录 1464.7 添加登录验证码 1504.8 小结 152第5章 密码加密 1535.1 密码为什么要加密 1535.2 密码加密方案进化史 1545.3 PasswordEncoder详解 1545.3.1 PasswordEncoder常见实现类 1555.3.2 DelegatingPasswordEncoder 1565.4 实战 1595.5 加密方案自动升级 1615.6 是谁的PasswordEncoder 1665.7 小结 168第6章 RememberMe 1696.1 RememberMe简介 1696.2 RememberMe基本用法 1706.3 持久化令牌 1726.4 二次校验 1746.5 原理分析 1766.6 小结 189第7章 会话管理 1907.1 会话简介 1907.2 会话并发管理 1917.2.1 实战 1917.2.2 原理分析 1947.3 会话固定攻击与防御 2067.3.1 什么是会话固定攻击 2067.3.2 会话固定攻击防御策略 2077.4 Session共享 2087.4.1 集群会话方案 2087.4.2 实战 2107.5 小结 212第8章 HttpFirewall 2138.1 HttpFirewall简介 2138.2 HttpFirewall严格模式 2158.2.1 rejectForbiddenHttpMethod 2168.2.2 rejectedBlacklistedUrls 2178.2.3 rejectedUntrustedHosts 2188.2.4 isNormalized 2198.2.5 containsOnlyPrintableAsciiCharacters 2208.3 HttpFirewall普通模式 2208.4 小结 221第9章 漏洞保护 2229.1 CSRF攻击与防御 2229.1.1 CSRF简介 2229.1.2 CSRF攻击演示 2239.1.3 CSRF防御 2249.1.4 源码分析 2319.2 HTTP响应头处理 2379.2.1 缓存控制 2399.2.2 X-Content-Type-Options 2409.2.3 Strict-Transport-Security 2419.2.4 X-Frame-Options 2449.2.5 X-XSS-Protection 2459.2.6 Content-Security-Policy 2469.2.7 Referrer-Policy 2489.2.8 Feature-Policy 2499.2.9 Clear-Site-Data 2499.3 HTTP通信安全 2509.3.1 使用HTTPS 2509.3.2 代理服务器配置 2539.4 小结 254第10章 HTTP认证 25510.1 HTTP Basic authentication 25510.2 HTTP Digest authentication 26010.3 小结 268第11章 跨域问题 26911.1 什么是CORS 26911.2 Spring处理方案 27011.3 Spring Security处理方案 27411.4 小结 279第12章 异常处理 28012.1 Spring Security异常体系 28012.2 ExceptionTranslationFilter原理分析 28112.3 自定义异常配置 28712.4 小结 290第13章 权限管理 29113.1 什么是权限管理 29113.2 Spring Security权限管理策略 29213.3 核心概念 29213.4 基于URL地址的权限管理 30513.5 基于方法的权限管理 32513.6 小结 338第14章 权限模型 33914.1 常见的权限模型 33914.2 ACL 34014.3 RBAC 35414.4 小结 357第15章 OAuth2 35815.1 OAuth2简介 35815.2 OAuth2四种授权模式 35915.3 Spring Security OAuth2 36415.4 GitHub授权登录 36515.5 授权服务器与资源服务器 37915.6 使用Redis 39715.7 客户端信息存入数据库 39915.8 使用JWT 40115.9 小结 406 上一篇: 新手学系统安装、重装与安全超简单 刘益杰 2019年版 下一篇: 网上购物 数字生活轻松入门 晶辰创作室,王农基编著 2020年版