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

  • 相关阅读:
    PHP 与底层 linux 命令 混合开发 类
    Day11OSI与TCP/IP协议簇以及物理层
    Fiddler(六) - http请求的结果分析-创建一个自己的响应
    Mathorcup数学建模竞赛第四届-【妈妈杯】C题:家庭暑假旅游套餐的设计(附MATLAB和SAS代码)
    刷题记录:牛客NC50965Largest Rectangle in a Histogram
    数据结构 - 3(链表12000字详解)
    CV:基于计算机视觉完成两张图片的特征匹配以及用RANSAC方法寻找最佳的匹配点对和单应矩阵的代码
    【知识点随笔分析 | 第七篇】什么是Cookie、Session、Token
    Spring Bean的生命周期
    leetcode91-解码方法
  • 原文地址:https://blog.csdn.net/damoluomu/article/details/126939950