Spring Security 6.x系列进阶实战
文章平均质量分 94
基于最新的Spring Security 6.1 & Spring Authorization Server 1.1 ,不仅仅是让您会用,而是从实战、原理、源码方面让您深入了解,适用各种场景,解决开发中遇到各种问题。
gmHappy
从不敢夜郎自大,但也不至于妄自菲薄,只是想做一个靠本事吃饭的手艺人
展开
-
Spring Security 6.x 系列(16)—— Remember Me 自定义配置及源码分析
Remember Me(记住我)是一种常见功能,打开一个网站后,如果超过长时间未操作,会话过期后需要重新登录。Remember Me 功能可以“记住”当前登录用户,就算会话过期,或者浏览器关闭,下次进入网站时,不再需要重新认证,直接自动登录。原创 2024-01-05 17:37:34 · 2183 阅读 · 0 评论 -
Spring Security 6.x 系列(15)—— 会话管理之源码分析
在上篇Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置Spring Security 6.x 系列(14)—— 会话管理之会话固定攻击防护及Session共享中了清晰了协议和会话的概念、对 Spring Security 中的常用会话配置进行了说明,并了解会话固定攻击防护和 Session 共享,今天我们着重对会话流程和部分源码进行分析原创 2024-01-04 17:38:59 · 2454 阅读 · 0 评论 -
Spring Security 6.x 系列(14)—— 会话管理之会话固定攻击防护及Session共享
在上篇 Spring Security 6.x 系列(13)—— 会话管理及源码分析(一) 中了清晰了协议和会话的概念,并对 Spring Security 中的常用会话配置进行了说明,今天我们着重了解会话固定攻击防护和 Session 共享,并对部分源码进行分析。原创 2024-01-03 17:41:49 · 2410 阅读 · 0 评论 -
Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置
在实现会话管理之前,我们还是先来了解一下协议和会话的概念,连协议和会话都不知道是啥,还谈啥管理。原创 2024-01-02 17:47:51 · 2433 阅读 · 0 评论 -
Spring Security 6.x 系列(12)—— Form表单认证登录注销自定义配置
在本系列文章中介绍了 `Form` 表单认证和注销流程,对部分源码也进行详细分析。本章主要学习 `Spring Security` 中表单认证登录注销的相关自定义配置。原创 2023-12-23 16:57:31 · 5403 阅读 · 0 评论 -
Spring Security 6.x 系列(11)—— Form表单认证和注销流程
① 首先,用户向未授权的资源 /private 发出未经身份认证的请求。② Spring Security 的 AuthorizationFilter 抛出 AccessDeniedException 异常。③ 由于用户未经过身份验证,因此 ExceptionTranslationFilter 将启动“启动身份验证”,并使用配置的 AuthenticationEntryPoint 将重定向发送到登录页。④ 浏览器请求重定向到的登录页面。⑤ 呈现默认登录页面。原创 2023-12-18 17:30:35 · 7826 阅读 · 0 评论 -
Spring Security 6.x 系列(10)—— SecurityConfigurer 配置器及其分支实现源码分析(二)
`SecurityConfigurerAdapter`它是`SecurityConfigurer`的基类,它允许子类仅实现它们感兴趣的方法。它还提供了使用 `SecurityConfigurer`以及完成后获取正在配置的`SecurityBuilder`(构造器)的访问权限的机制。`SecurityConfigurerAdapter` 的实现主要有三大类:- `UserDetailsAwareConfigurer`- `AbstractHttpConfigurer`原创 2023-12-08 17:16:04 · 12114 阅读 · 0 评论 -
Spring Security 6.x 系列(9)—— 基于过滤器链的源码分析(二)
今天沿着`Spring Boot`自动配置中对未被介绍的`@EnableGlobalAuthentication`注解进行展开。原创 2023-12-04 17:55:13 · 12876 阅读 · 0 评论 -
Spring Security 6.x 系列(8)—— SecurityConfigurer 配置器及其分支实现源码分析(一)
`SecurityConfigurer` 的所有实现类都是用来配置构造器的。也就是说,泛型中 O 和 B 的关系是,B 用来构造 O。而配置器的作用是配置这个构造器的,从而影响最终构造的结果。原创 2023-12-01 17:54:17 · 15070 阅读 · 0 评论 -
Spring Security 6.x 系列(7)—— SecurityBuilder 继承链源码分析
`WebSecurity`、`HttpSecurity`、`AuthenticationManagerBuilder` 都是框架中的构建者,把他们放到一起看看他们的共同特点:可以看出他们都有这样一条相同的继承链:```bash|- SecurityBuilder |- AbstractSecurityBuilder |- AbstractConfiguredSecurityBuilder原创 2023-11-30 17:12:04 · 15596 阅读 · 0 评论 -
Spring Security 6.x 系列(6)—— 显式设置和修改登录态信息
显式设置和修改登录态,使用SecurityContextRepository的具体方法原创 2023-11-26 15:36:50 · 19082 阅读 · 0 评论 -
Spring Security 6.x 系列(5)—— Servlet 认证体系结构介绍
安全上下文持有者,存储当前认证用户的。:安全上下文,包含当期认证用户的(认证信息),从中获取。:认证信息,用户提供的用于身份认证的凭据的输入。:授予主体的权限(即角色、作用域等)。:认证管理器,是一个接口,定义过滤器执行身份认证的API。:提供者管理器,是的默认实现。: 认证提供者,由选择,用于执行特定类型的身份认证。: 认证入口点,处理认证过程中的认证异常,比如:重定向登录页面:抽象认证处理过滤器,一个Filter抽象类,是身份验证的基础。原创 2023-11-25 17:56:38 · 18916 阅读 · 0 评论 -
Spring Security 6.x 系列(4)—— 基于过滤器链的源码分析(一)
`Spring Security`默认的配置是由 `SecurityAutoConfiguration` 、 `UserDetailsServiceAutoConfiguration`、`SecurityFilterAutoConfiguration`这三个自动配置类实现的。原创 2023-11-01 14:38:10 · 21097 阅读 · 0 评论 -
Spring Security 6.x 系列(3)—— 基于过滤器的基础原理(二)
`ExceptionTranslationFilter` 允许将 `AccessDeniedException` 和 `AuthenticationException` 转换为 `HTTP` 响应。`ExceptionTranslationFilter`作为`Security Filter`之一插入到 `FilterChainProxy` 中。原创 2023-10-31 14:54:51 · 20045 阅读 · 0 评论 -
Spring Security 6.x 系列(2)—— 基于过滤器的基础原理(一)
`Spring Security` 的 `Servlet` 支持基于 `Servlet` 过滤器,因此首先了解过滤器的作用会很有帮助。原创 2023-10-31 11:15:55 · 20798 阅读 · 1 评论 -
Spring Security 6.x 系列(1)—— 初识Spring Security
`Spring Security`作为一个功能完善的安全框架,具有以下特性:- **认证(Authentication)**:解决 "你是谁" 的问题,验证系统中是否有这个“用户”(用户/设备/系统),也就是我们常说的“登录”。- **授权(Authorization)**:权限控制/鉴别,解决的是系统中某个用户能够访问哪些资源,即“你能干什么”的问题。`Spring Security` 支持基于 `URL` 的请求授权、方法访问授权、对象访问授权。原创 2023-10-05 15:27:09 · 21424 阅读 · 4 评论