深入浅出SpringSecurity

深入浅出SpringSecurity

立即试读
手机扫码阅读
  • 微信扫一扫

    关注微信公众号

编辑推荐

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

内容简介

本书分为15章,讲解Spring Security框架、认证、认证流程分析、过滤器链分析、密码加密、RememberMe、会话管理、HttpFirewall、漏洞保护、HTTP认证、跨域问题、异常处理、权限管理、权限模型、OAuth2等内容。

本书致力于让读者在学会Spring Security用法的同时,也能通过阅读源码来理解它的实现原理。

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

作者简介

作者王松,软件开发工程师,擅长JavaEE开发,对Spring Boot、Spring Cloud微服务等技术有深入的研究。著有畅销书《Spring Boot Vue全栈开发实战》。

章节目录

版权信息

内容简介

前言

第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.1.1 简介

10.1.2 具体用法

10.1.3 源码分析

10.2 HTTP Digest authentication

10.2.1 简介

10.2.2 具体用法

10.2.3 源码分析

10.3 小结

第11章 跨域问题

11.1 什么是CORS

11.2 Spring处理方案

11.2.1 @CrossOrigin

11.2.2 addCorsMappings

11.2.3 CorsFilter

11.3 Spring Security处理方案

11.3.1 特殊处理OPTIONS请求

11.3.2 继续使用CorsFilter

11.3.3 专业解决方案

11.4 小结

第12章 异常处理

12.1 Spring Security异常体系

12.2 ExceptionTranslationFilter原理分析

12.3 自定义异常配置

12.4 小结

第13章 权限管理

13.1 什么是权限管理

13.2 Spring Security权限管理策略

13.3 核心概念

13.3.1 角色与权限

13.3.2 角色继承

13.3.3 两种处理器

13.3.4 前置处理器

13.3.5 后置处理器

13.3.6 权限元数据

13.3.7 权限表达式

13.4 基于URL地址的权限管理

13.4.1 基本用法

13.4.2 角色继承

13.4.3 自定义表达式

13.4.4 原理剖析

13.4.5 动态管理权限规则

13.5 基于方法的权限管理

13.5.1 注解介绍

13.5.2 基本用法

13.5.3 原理剖析

13.6 小结

第14章 权限模型

14.1 常见的权限模型

14.2 ACL

14.2.1 ACL权限模型介绍

14.2.2 ACL核心概念介绍

14.2.3 ACL数据库分析

14.2.4 实战

14.3 RBAC

14.3.1 RBAC权限模型介绍

14.3.2 RBAC权限模型分类

14.3.3 RBAC小结

14.4 小结

第15章 OAuth2

15.1 OAuth2简介

15.2 OAuth2四种授权模式

15.2.1 授权码模式

15.2.2 简化模式

15.2.3 密码模式

15.2.4 客户端模式

15.3 Spring Security OAuth2

15.4 GitHub授权登录

15.4.1 准备工作

15.4.2 项目开发

15.4.3 测试

15.4.4 原理分析

15.4.5 自定义配置

15.5 授权服务器与资源服务器

15.5.1 项目规划

15.5.2 项目搭建

15.5.3 测试

15.5.4 原理分析

15.5.5 自定义请求

15.6 使用Redis

15.7 客户端信息存入数据库

15.8 使用JWT

15.8.1 JWT

15.8.2 JWT数据格式

15.8.3 OAuth2中使用JWT

15.9 小结

深入浅出SpringSecurity是2021年由清华大学出版社出版,作者王松。

得书感谢您对《深入浅出SpringSecurity》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
深入浅出WindowsAPI程序设计:核心编程篇 电子书

本书基于win10和VS2019编写,系统地介绍了Windows程序设计的核心编程思想与实践。
深入浅出Hyperscan:高性能正则表达式算法原理与设计 电子书
动力电池管理系统核心算法 电子书

本书可作为相关领域技术人员的参考用书,也可以作为汽车专业的高年级本科生和研究生的专业课教科书。
大话传送网(第2版) 电子书

通过本书,读者既可以全面地了解各种技术的产生背景、基本原理及工程应用,也可以选择性地阅读这部传送网的技术简史。
SQL必知必会(第5版) 电子书

1.SQL入门经典教程全新升级,麻省理工学院、伊利诺伊大学等众多大学的参考教材,中文版累计销量超14万;2.本书没有过多阐述数据库基础理论,而是专门针对一线软件开发人员,直接从...
Python深度学习 电子书

Keras之父、谷歌人工智能研究员弗朗索瓦·肖莱执笔,深度学习领域力作。
Rust程序设计 电子书

本书对Rust进行了全面介绍,并提供了大量清晰易懂的示例,逐步指导读者用Rust编写出既安全又高性能的程序。