前 言
安全管理是 Java 应用开发中无法避免的问题,目前主流的安全管理框架就是 Spring
Security 和 Shiro,其中 Shiro 一直以使用简单和轻量级著称。然而,随着 Spring Boot 和微服
务的流行,Spring Security 受到越来越多开发者的重视,因为 Spring Security 在和 Spring Boot
整合时具有先天优势。
目前市面上缺少系统介绍 Spring Security 的书籍,网上的博客内容又比较零散,这为很多
初次接触 Spring Security 的 Java 工程师学习这门技术带来诸多不便。
笔者最早于个人博客上连载 Spring Security 系列教程,连载期间有不少读者加笔者微信讨
论 Spring Security 的相关技术点,让笔者感受到读者对 Spring Security 的热情,也因此萌生了
写一本技术图书来系统介绍 Spring Security 的想法。在朋友和家人的鼓励之下,这一想法逐步
付诸实践,最终完成大家现在看到的这本《深入浅出 Spring Security》。
本书以 Spring Security 5.3.4 为基础,详细介绍 Spring Security 的基本用法以及相关原理。
得益于 Spring Boot 中的自动化配置,Spring Security 上手非常容易,然而这种自动化配置,也
让很多初次接触 Spring Security 的开发者“知其然,而不知其所以然”,仅限于会用,一旦出
了漏洞,或者想要定制功能时,就会不知所措。因此,在写作本书过程中,除了基本功能的
Demo 演示外,还对 Spring Security 的相关源码做了深入分析,以便读者“知其然,更知其所
以然”。
学习 Spring Security 不仅仅是学习安全管理框架,也是一个学习各种网络攻击与防御策略
的过程,Spring Security 对很多常见网络攻击,如计时攻击、CSRF、XSS 等,都提供了相应
的防御策略,因此,我们在学习 Spring Security 时,也可以顺便研究一下这些常见的网络攻击,
以便设计出更加安全健壮的权限管理系统。
本书分为四部分:
第一部分:第 1 章,这一部分总体介绍 Spring Security 架构,方便读者从整体上把握 Spring
Security 的功能。
第二部分:第 2~12 章,这一部分主要介绍 Spring Security 中的认证功能,以及由此衍生
出来的会话管理、HTTP 防火墙、跨域管理等。
第三部分:第 13~14 章,这一部分主要介绍 Spring Security 中的授权功能,以及常见的
权限模型 ACL 和 RBAC。
第四部分:第 15 章,这一部分主要介绍 OAuth2 协议在 Spring Security 框架中的落地。
相关文档
评论