Spring Security实战
  • 推荐1
  • 收藏2
  • 浏览758

Spring Security实战

陈木鑫 (作者)  安娜 (责任编辑)

  • 书  号:ISBN 978-7-121-37143-1
  • 出版日期:2019-08-20
  • 页  数:296
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:安娜

相关图书

Android软件安全权威指南

丰生强 (作者)

本书从平台搭建和语言基础开始,循序渐进地讲解了Android平台上的软件安全技术,提供了对Windows、Linux、macOS三个平台的支持,涉及与Andro...

 

加密与解密(第4版)

段钢 (作者)

本书以软件逆向为切入点,讲述了软件安全领域相关的基础知识和技能。读者阅读本书后,很容易就能在逆向分析、漏洞分析、安全编程、病毒分析等领域进行扩展。这些知识点的相...

¥198.00

Kali Linux大揭秘

(美国)Raphael Hertzog,(美国)Jim O'Gorman (作者) 诸葛建伟 (译者)

Kali Linux是设计用于数字取证和渗透测试的操作系统,本书是官方出版的仅有的一本著作。讲述了如何上手、配置、安全加固、自定义、安全评估等概念。<br>在本...

¥59.00

Web安全攻防:渗透测试实战指南

徐焱 李文轩 王东亚 (作者)

  本书由浅入深、全面、系统地介绍了当前流行的高危漏洞的攻击手段和防御方法,并力求语言通俗易懂,举例简单明了,便于读者阅读、领会。结合具体案例进行讲解,可以让读...

¥54.00

iOS逆向与安全

刘培庆 (作者)

本书从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、Ap...

¥85.00

网络安全法与网络安全等级保护制度培训教程(2018版)

郭启全 (作者)

本书共9章,包括网络安全概述、《网络安全法》解读、网络安全等级保护制度、网络安全等级保护政策体系和标准体系、网络安全等级保护的定级与备案、网络安全等级保护的建设...

¥79.00
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 的部分核心源码。
本书适合有一定Java 基础的读者,以及希望在项目中应用Spring Security 的开发人员阅读。
包含Spring Security Java配置、Spring Security安全防护和源码导读。
详细讲解OAuth2实战,并简单剖析部分OAuth2核心源码。
陈木鑫,热爱编码,信奉知识沉淀的力量,平常多有关注前沿技术栈,包括但不限于前后端技术、DevOps、Serverless等,近期主要从事IM平台的研发。
前言

Spring Security 的前身是Acegi Security,在被收纳为Spring 子项目后正式更名为SpringSecurity。在笔者成书时,Spring Security 已经升级到5.1.3.RELEASE 版本,不仅新增了原生OAuth框架,还支持更加现代化的密码加密方式。可以预见,在Java 应用安全领域,Spring Security会成为首先被推崇的安全解决方案。

虽然Spring Security 有强大的功能,但它同时也有很高的学习成本。它囊括了身份认证的各种应用场景以及Web 安全的大量知识,仅官方参考手册就有数十万字,并且还省略了诸多实现细节。许多开发人员在面对这样的“庞然大物”时无从入手,更因为对其不够了解而在实际项目中不敢轻易采用。

本书由浅入深、抽丝剥茧地讲解了Spring Security 的典型应用场景,另外,还分析了部分核心源码,以及许多开发语言之外的安全知识。通过本书,读者不仅可以学习如何应用SpringSecurity,还可以学习借鉴它的实现思路,以将这种实现思路应用到其他开发场景中。

本书读者
本书主要面向有一定Java 基础的读者,以及希望在实际项目中应用Spring Security 的开发人员。

本书内容
本书共分为4 个部分。
第1 部分(第1 章至第3 章)主要介绍Spring Security 的基本配置,包括默认配置、简单表单认证,以及基于数据库模型的认证与授权。

第2 部分(第4 章至第11 章)主要介绍各种定制化的配置场景,剖析Web 项目可能遇到的安全问题,并讲解如何使用Spring Security 进行有效防护,部分章节还配备了详细的源码导读。

第3 部分(第13 章)将登录用户的数据来源从系统内转移到社交平台,详细介绍了OAuth,并使用Spring Social 整合Spring Security,实现QQ 快捷登录,满足一般性的项目需求。

第4 部分(第14 章)带领读者认识Spring Security OAuth 框架,并基于该框架完整实现了OAuth 客户端、OAuth 授权服务器以及OAuth 资源服务器三种角色。除此之外,还简单剖析了Spring Security OAuth 的部分核心源码,以帮助读者更好地理解OAuth 框架。

致谢
首先感谢赵召同学(Andy)对第4 部分的贡献。笔者在Gitter 发言表明会写一本关于SpringSecurity 的中文书后,赵召同学找到了我,并希望与我一起写作,但由于这本书实际上已基本成型,所以赵召同学贡献了第4 部分,使得本书内容更加充实,再次感谢赵召同学的贡献。其次也非常感谢博文视点公司的安娜编辑以及身边的朋友给予的鼓励。从下定决心编写这本书开始,笔者其实经历了非常多的折磨,不管是思路的枯竭还是耐心的消磨,都致使笔者几次三番萌生退,但最终还是在不断的鼓励声中坚持了下来,成功为国内希望学习SpringSecurity 的朋友奉上了一本中文版的教程,这份收获也应当属于他们。
陈木鑫

目录

第1 部分
第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 部分
第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 部分
第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 部分
第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

读者评论

  • 源码只提供了两章的,然而spring-security-oauth2-sample这个项目中的client-social2子模块还导入不了eclipse,项目都不完整,还得自己手动创建

    小蜜蜂1010发表于 2019/10/31 17:11:38
  • 源码呢 ?站点提供的源码 不全啊 ??麻烦提供下全书的源码!!!

    xue_song发表于 2019/10/11 22:26:28
  • 垃圾图书,没有代码,书上很多东西,都缺少,漏洞百出!

    阿杰发表于 2019/10/4 23:05:03
  • 这也叫做有源代码

    M-Anonymous发表于 2019/10/2 13:07:58
  • 示例代码缺了很多啊

    自由者发表于 2019/9/29 23:25:26

图书类别

推荐用户