• [202101][深入浅出 Spring Security][王松][著]


    [202101][深入浅出 Spring Security][王松][著]

    GitHub - lenve/spring-security-book-samples: 《深入浅出Spring Security》一书配套源码。

    https://github.com/lenve/spring-security-book-samples


    第 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.1.1 认证
    1.3.1.2 授权

    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.1.3.1 默认用户生成
    2.1.3.2 默认页面生成

    2.2 登录表单配置

    2.2.1 快速入门

    2.2.2 配置细节

    2.2.2.1 登录成功
    2.2.2.2 登录失败
    2.2.2.3 注销登录

    2.3 登录用户数据获取

    2.3.1 从 SecurityContextHolder 中获取

    2.3.1.1 SecurityContextHolder
    2.3.1.2 SecurityContextPersistenceFilter

    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.1.6.1 WebSecurityConfiguration
    4.1.6.2 AuthenticationConfiguration

    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.2.2.1 SessionInformation
    7.2.2.2 SessionRegistry
    7.2.2.3 SessionAuthenticationStrategy
    7.2.2.4 SessionManagementFilter
    7.2.2.5 ConcurrentSessionFilter
    7.2.2.6 Session 创建时机
    7.2.2.7 SessionManagementConfigurer
    7.2.2.8 AbstractAuthenticationFilterConfigurer

    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.3.1 令牌同步模式
    9.1.3.2 SameSite
    9.1.3.3 需要注意的问题

    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.1.3.1 质询
    10.1.3.2 请求解析

    10.2 HTTP Digest authentication

    10.2.1 简介

    10.2.2 具体用法

    10.2.3 源码分析

    10.2.3.1 质询
    10.2.3.2 客户端处理
    10.2.3.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.4.5.1 数据库设计
    13.4.5.2 实战

    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.2.4.1 准备工作
    14.2.4.2 Acl 配置
    14.2.4.3 业务配置
    14.2.4.4 测试
    14.2.4.5 Acl 小结

    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.4.5.1 自定义 ClientRegistrationRepository
    15.4.5.2 自定义用户

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

    15.5.1 项目规划

    15.5.2 项目搭建

    15.5.2.1 授权服务器搭建
    15.5.2.2 资源服务器搭建
    15.5.2.3 客户端应用搭建

    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 小结

  • 相关阅读:
    代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结
    颜色的识别方法和探索 基于matlab
    【笔记】跟吴恩达和IsaFulford学提示词工程(初级开发者入门课程)
    2023年05月 Python(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
    大管家前端线上笔试
    出现很多DEBUG org.apache.http.**日志,如何关闭
    JavaScript设计模式(五)——发布订阅模式、桥接模式、组合模式
    鸿蒙开发从hello world开始
    4.4 switch语句
    花998购买的拍摄技巧和7天起号培训文档,学了一周的总结。
  • 原文地址:https://blog.csdn.net/damoluomu/article/details/126939950