深入浅出Spring Security

admin 2022年11月9日21:41:45安全文章评论6 views2963字阅读9分52秒阅读模式

微信公众号:计算机与网络安全


深入浅出Spring Security
(全文略)


Spring Security是Java企业级开发中常用的安全管理框架,也能完美支持OAuth2。同时,Spring Security作为Spring家族的一员,与Spring Boot、Spring Cloud等框架整合使用也非常方便。

本书分为15章,讲解Spring Security框架、认证、认证流程分析、过滤器链分析、密码加密、RememberMe、会话管理、HttpFirewall、漏洞保护、HTTP认证、跨域问题、异常处理、权限管理、权限模型、OAuth2等内容。本书致力于让读者在学会Spring Security用法的同时,也能通过阅读源码来理解它的实现原理。

本书适合具有Spring Boot基础的读者、Java企业应用开发工程师,也适合作为高等院校和培训机构计算机相关专业师生的教学参考书。

学习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框架中的落地。

目录

第1章 Spring Security架构概览
1.1 Spring Security简介
1.2 Spring Security核心功能
1.2.1 认证
1.2.2 授权
1.2.3 其他
1.3 Spring Security整体架构
1.3.1 认证和授权
1.3.2 Web安全
1.3.3 登录数据保存
1.4 小结
第2章 Spring Security认证
2.1 Spring Security基本认证
2.1.1 快速入门
2.1.2 流程分析
2.1.3 原理分析
2.2 登录表单配置
2.2.1 快速入门
2.2.2 配置细节
2.3 登录用户数据获取
2.3.1 从SecurityContextHolder中获取
2.3.2 从当前请求对象中获取
2.4 用户定义
2.4.1 基于内存
2.4.2 基于JdbcUserDetailsManager
2.4.3 基于MyBatis
2.4.4 基于Spring Data JPA
2.5 小结
第3章 认证流程分析
3.1 登录流程分析
3.1.1 AuthenticationManager
3.1.2 AuthenticationProvider
3.1.3 ProviderManager
3.1.4 AbstractAuthenticationProcessingFilter
3.2 配置多个数据源
3.3 添加登录验证码
3.4 小结
第4章 过滤器链分析
4.1 初始化流程分析
4.1.1 ObjectPostProcessor
4.1.2 SecurityFilterChain
4.1.3 SecurityBuilder
4.1.4 FilterChainProxy
4.1.5 SecurityConfigurer
4.1.6 初始化流程分析
4.2 ObjectPostProcessor使用
4.3 多种用户定义方式
4.4 定义多个过滤器链
4.5 静态资源过滤
4.6 使用JSON格式登录
4.7 添加登录验证码
4.8 小结
第5章 密码加密
5.1 密码为什么要加密
5.2 密码加密方案进化史
5.3 PasswordEncoder详解
5.3.1 PasswordEncoder常见实现类
5.3.2 DelegatingPasswordEncoder
5.4 实战
5.5 加密方案自动升级
5.6 是谁的PasswordEncoder
5.7 小结
第6章 RememberMe
6.1 RememberMe简介
6.2 RememberMe基本用法
6.3 持久化令牌
6.4 二次校验
6.5 原理分析
6.6 小结
第7章 会话管理
7.1 会话简介
7.2 会话并发管理
7.2.1 实战
7.2.2 原理分析
7.3 会话固定攻击与防御
7.3.1 什么是会话固定攻击
7.3.2 会话固定攻击防御策略
7.4 Session共享
7.4.1 集群会话方案
7.4.2 实战
7.5 小结
第8章 HttpFirewall
8.1 HttpFirewall简介
8.2 HttpFirewall严格模式
8.2.1 rejectForbiddenHttpMethod
8.2.2 rejectedBlacklistedUrls
8.2.3 rejectedUntrustedHosts
8.2.4 isNormalized
8.2.5 containsOnlyPrintableAsciiCharacters
8.3 HttpFirewall普通模式
8.4 小结
第9章 漏洞保护
9.1 CSRF攻击与防御
9.1.1 CSRF简介
9.1.2 CSRF攻击演示
9.1.3 CSRF防御
9.1.4 源码分析
9.2 HTTP响应头处理
9.2.1 缓存控制
9.2.2 X-Content-Type-Options
9.2.3 Strict-Transport-Security
9.2.4 X-Frame-Options
9.2.5 X-XSS-Protection
9.2.6 Content-Security-Policy
9.2.7 Referrer-Policy
9.2.8 Feature-Policy
9.2.9 Clear-Site-Data
9.3 HTTP通信安全
9.3.1 使用HTTPS
9.3.2 代理服务器配置
9.4 小结
第10章 HTTP认证
10.1 HTTP Basic authentication
10.2 HTTP Digest authentication
10.3 小结
第11章 跨域问题
11.1 什么是CORS
11.2 Spring处理方案
11.3 Spring Security处理方案
11.4 小结
第12章 异常处理
12.1 Spring Security异常体系
12.2 ExceptionTranslationFilter原理分析
12.3 自定义异常配置
12.4 小结
第13章 权限管理
13.1 什么是权限管理
13.2 Spring Security权限管理策略
13.3 核心概念
13.4 基于URL地址的权限管理
13.5 基于方法的权限管理
13.6 小结
第14章 权限模型
14.1 常见的权限模型
14.2 ACL
14.3 RBAC
14.4 小结
第15章 OAuth2
15.1 OAuth2简介
15.2 OAuth2四种授权模式
15.3 Spring Security OAuth2
15.4 GitHub授权登录
15.5 授权服务器与资源服务器
15.6 使用Redis
15.7 客户端信息存入数据库
15.8 使用JWT
15.9 小结

附:深入浅出Spring Security.pdf


- The end -

原文始发于微信公众号(计算机与网络安全):深入浅出Spring Security

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月9日21:41:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  深入浅出Spring Security http://cn-sec.com/archives/1392821.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: