《Spring Security实战》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(中国)陈木鑫
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121371431
  • 页数:274 页
图书介绍:Spring Security是一个强大且高度可定制的安全框架,致力于为Java应用提供身份认证和授权。本书通过4部分内容由浅入深地介绍Spring Security的方方面面。第1部分主要讲解Spring Security的基本配置;第2部分会一一剖析Web项目可能遇到的安全问题,并讲解如何使用Spring Security进行有效防护;第3部分详细介绍OAuth,并使用Spring Social整合Spring Security,实现QQ快捷登录;第4部分重点介绍Spring Security OAuth框架,剖析Spring Security OAuth的部分核心源码。

第1部分 2

第1章 初识Spring Security 2

1.1 Spring Security简介 2

1.2 创建一个简单的Spring Security项目 4

第2章 表单认证 10

2.1 默认表单认证 10

2.2 自定义表单登录页 13

第3章 认证与授权 19

3.1 默认数据库模型的认证与授权 19

3.1.1 资源准备 19

3.1.2 资源授权的配置 20

3.1.3 基于内存的多用户支持 22

3.1.4 基于默认数据库模型的认证与授权 22

3.2 自定义数据库模型的认证与授权 27

3.2.1 实现UserDetails 27

3.2.2 实现UserDetailsService 31

第2部分 36

第4章 实现图形验证码 36

4.1 使用过滤器实现图形验证码 36

4.1.1 自定义过滤器 36

4.1.2 图形验证码过滤器 39

4.2 使用自定义认证实现图形验证码 44

4.2.1 认识AuthenticationProvider 44

4.2.2 自定义AuthenticationProvider 47

4.2.3 实现图形验证码的AuthenticationProvider 53

第5章 自动登录和注销登录 59

5.1 为什么需要自动登录 59

5.2 实现自动登录 60

5.3 注销登录 69

第6章 会话管理 75

6.1 理解会话 75

6.2 防御会话固定攻击 76

6.3 会话过期 78

6.4 会话并发控制 79

6.5 集群会话的缺陷 93

6.6 集群会话的解决方案 94

6.7 整合Spring Session解决集群会话问题 95

第7章 密码加密 98

7.1 密码安全的重要性 98

7.2 密码加密的演进 98

7.3 Spring Security的密码加密机制 102

第8章 跨域与CORS 105

8.1 认识跨域 105

8.2 实现跨域之JSONP 106

8.3 实现跨域之CORS 108

8.4 启用Spring Security的CORS支持 110

第9章 跨域请求伪造的防护 113

9.1 CSRF的攻击过程 113

9.2 CSRF的防御手段 114

9.3 使用Spring Security防御CSRF攻击 115

第10章 单点登录与CAS 125

10.1 单点登录 125

10.2 认识CAS 129

10.3 搭建CAS Server 130

10.4 用Spring Security实现CAS Client 138

第11章 HTTP认证 144

11.1 HTTP基本认证 144

11.2 HTTP摘要认证 145

11.2.1 认识HTTP摘要认证 145

11.2.2 Spring Security对HTTP摘要认证的集成支持 146

11.2.3 编码实现 148

第12章 @EnableWebSecurity与过滤器链机制 151

12.1 @EnableWebSecurity 151

12.2 WebSecurityConfiguration 152

第3部分 162

第13章 用Spring Social实现OAuth对接 162

13.1 OAuth简介 162

13.1.1 什么是OAuth 162

13.1.2 OAuth的运行流程 164

13.2 QQ互联对接准备 168

13.2.1 申请QQ互联应用 169

13.2.2 QQ互联指南 170

13.2.3 回调域名准备 174

13.3 实现QQ快捷登录 176

13.3.1 引入Spring Social 176

13.3.2 新增OAuth服务支持的流程 178

13.3.3 编码实现 179

13.4 与Spring Security整合 192

13.5 Spring Social源码分析 194

13.5.1 SocialAuthenticationFilter 194

13.5.2 OAuth2AuthenticationService 195

13.5.3 OAuth2Connection 196

13.5.4 OAuth2Template 198

13.5.5 SocialAuthenticationProvider 199

13.5.6 JdbcUsersConnectionRepository 200

13.6 配置相关 200

第4部分 206

第14章 用Spring Security OAuth实现OAuth对接 206

14.1 实现GitHub快捷登录 207

14.2 用Spring Security OAuth实现QQ快捷登录 210

14.2.1 OAuth功能扩展流程 210

14.2.2 编码实现 212

14.2.3 自定义login.html和index.html 223

14.2.4 自定义Controller映射 224

14.2.5 启用自定义登录页 225

14.3 OAuth Client功能核心源码分析 226

14.3.1 OAuth2AuthorizationRequestRedirectFilter 227

14.3.2 OAuth2LoginAuthenticationFilter 228

14.3.3 DefaultLoginPageGeneratingFilter 230

14.3.4 OAuth2LoginAuthenticationProvider 231

14.4 Spring Security OAuth授权服务器 232

14.4.1 功能概述 233

14.4.2 依赖包说明 233

14.4.3 编码实现 234

14.5 OAuth授权服务器功能扩展和自定义配置 236

14.5.1 自定义配置的授权服务器 237

14.5.2 编写OAuth客户端 247

14.5.3 使用JDBC存储OAuth客户端信息 248

14.5.4 使用JDBC存储token 254

14.5.5 其他功能配置 255

14.6 实现OAuth资源服务器 255

14.6.1 依托于授权服务器的资源服务器 256

14.6.2 独立的资源服务器 258

14.7 Spring Security OAuth核心源码分析 263

14.7.1 授权服务器核心源码分析 264

14.7.2 资源服务器核心源码分析 271