SpringSecurity6从入门到实战之Filter过滤器回顾

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
简介: 该文主要介绍了SpringSecurity框架中的过滤器Filter,探讨了在没有SpringSecurity时如何检查用户登录状态以保护资源。文中通过流程图展示了过滤器在HTTP请求处理中的位置,并提供了官方和中文文档链接。过滤器需实现Filter接口,用于拦截请求并进行预处理和后处理,例如强制登录检查。过滤器链FilterChain则是一系列Filter和资源的组合,通过doFilter方法逐个调用下一个过滤器或传递到目标资源。

SpringSecurity6从入门到实战之Filter过滤器回顾

如果没有SpringSecurity这个框架,我们应该通过什么去实现客户端向服务端发送请求时,先检查用户是否登录,登录了才能访问.否则重定向到登录页面

流程图如下

过滤器回顾

Spring Security 对 Servlet 的支持是基于 Servlet Filter 的,所以先看一下过滤器的一般作用是很有帮助的。下图显示了单个HTTP请求的处理程序的典型分层。

以上是过滤链的使用,当所有的filter都走完后最终会发送请求到达Servlet

过滤器 Filter:

  • 1.必须实现 Filter 接口
  • 2.过滤器在访问 Web 资源可以对请求进行拦截,并对请求进行预处理和后处理操作,然后将请求传递给目标资源。
  • 3.如,强制登录过滤器,访问 web 资源时先对请求进行登录检查,已登录可以往后访问,未登录重定向回登录页。

过滤器链 FilterChain:

  • 1.在对一个 web 资源进行拦截处理时的多个 Filter 和 web 资源组成一个 FilterChain 过滤器链。
  • 2.FilterChain 中的 doFilter() 方法非常重要,用于让 Filter 链上的当前过滤器放行,使请求或响应进入下一 Filter 或 web 资源。
相关文章
|
监控 安全 Java
【JavaWeb】 三大组件之过滤器 Filter
过滤器(Filter)是Java Web应用中的一种组件,它在请求到达Servlet或JSP之前或者响应送回客户端之前,对请求和响应进行预处理和后处理操作。通过使用过滤器,可以对请求进行过滤,拦截请求,修改请求参数,在请求被处理之前进行一些预处理操作;同时也可以对响应进行过滤,对响应内容进行修改,添加一些额外的处理。
|
Java 应用服务中间件 数据安全/隐私保护
JavaWeb 三大组件之 过滤器 Filter
JavaWeb 三大组件之 过滤器 Filter
85 0
|
6月前
javaWeb过滤器Filter(二)
javaWeb过滤器Filter(二)
|
6月前
javaWeb过滤器Filter(一)
javaWeb过滤器Filter(一)
|
存储 安全 NoSQL
SpringSecurity 核心过滤器——CsrfFilter
Spring Security除了认证授权外功能外,还提供了安全防护功能。本文我们来介绍下SpringSecurity中是如何阻止CSRF攻击的。
253 0
|
存储 安全 Java
SpringSecurity 核心过滤器——SecurityContextPersistenceFilter
SecurityContextHolder,这个是一个非常基础的对象,存储了当前应用的上下文SecurityContext,而在SecurityContext可以获取Authentication对象。也就是当前认证的相关信息会存储在Authentication对象中。
165 0
|
XML 缓存 Java
JavaWeb-Filter过滤器
Filter过滤器 1. Filter的生命周期 2.Filter的配置 3.拦截路径 4.拦截具体的使用 5.拦截方式配置(资源被访问方式) 6.FilterChain拦截链
90 0
|
设计模式 监控 前端开发
【JavaWeb】Filter过滤器到底是什么
【JavaWeb】Filter过滤器到底是什么
【JavaWeb】Filter过滤器到底是什么
|
Java
【JavaWeb】【学习】【过滤器】Filter 的简单应用
【JavaWeb】【学习】【过滤器】Filter 的简单应用
133 0
【JavaWeb】【学习】【过滤器】Filter 的简单应用