Spring Security解析八:SessionManagementConfigurer

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Security解析八:SessionManagementConfigurer相关的知识,希望对你有一定的参考价值。

参考技术A 在某些时候我们需要创建会话(HttpSession)来帮我们维持某些状态信息。例如当用户登录后在会话中记录用户的登录信息、或者存储一些用户数据等。Session本身是由Servlet容器进行管理,在内部可以完成Session的创建、销毁等, 当达到了会话的最大非活动间隔时长,那么会话会在服务器端会被失效。

Spring Security的会话管理并不是管理Session的创建销毁等工作,其主要用途大致有以下两点

默认配置里面是包含对session进行管理的内容的,如下sessionManagement()所示

在调用sessionManagement()进行配置时,实际上是使用了SessionManagementConfigurer配置对象,如下方法所示

SessionManagementConfigurer的源码如下

以上的都是初始化和装配的过程,下面再看看对请求进行拦截时候的执行过程

如果设置了才会执行该Filter

下面对上面场景的几个类型进行简单的梳理:

会话认证策略,默认为会话固定策略

无效(失效)会话策略;

会话信息过期策略

会话注册表

会话创建策略.

认证失败处理器

对Token进行验证,主要针对:Anonymous、RememberMe

以上是关于Spring Security解析八:SessionManagementConfigurer的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security应用开发(10) 并发控制之基本介绍

将 spring-security 与 spring-webflux 一起使用时禁用 WebSession 创建

Spring Security 解析 —— Spring Security Oauth2 源码解析

Spring security + session:接收“Set-Cookie”标头但未在浏览器中设置

spring-security.xml 文件的解析错误

Spring Security解析五:WebSecurityConfigurerAdapter