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 的朋友奉上了一本中文版的教程,这份收获也应当属于他们。
陈木鑫
刚学,没代码看不下去。评论中看到作者新提交的代码了:https://github.com/blurooo/spring-security-demo
是很烂这本书
我觉得书非常的好
源码不全就不能一边看书一边看springboot中的源码吗?
把源码全部贴出来,这样一本书厚的一塌糊涂,看的**都减少了
刚被这本书毒害完奉劝早早跑路换一本书看
这书莫名其妙省略一堆关键代码,关键是还过时了,完全不建议购买