当前位置: 首页 > news >正文

SpringSecurity中的过滤器链与自定义过滤器

 关于 Spring Security 框架中的过滤器的使用方法,系列文章:

《SpringSecurity中的过滤器链与自定义过滤器》

《SpringSecurity使用过滤器实现图形验证码》

1、Spring Security 中的过滤器链

Spring Security 中的过滤器链(Filter Chain)是一个核心的概念,它定义了一系列过滤器,这些过滤器按照特定的顺序处理HTTP请求,并负责执行各种安全任务,如身份验证、授权、CSRF 保护等。过滤器链是由多个过滤器组成的链式结构,请求依次经过每个过滤器,每个过滤器可以决定是否继续传递请求。此外,Spring Security 还允许开发人员自定义过滤器,并将其添加到安全过滤器链中。这使得可以根据特定的业务需求,扩展安全过滤器链的功能。

Spring Security 中的过滤器链,会在框架启动后将会自动进行初始化。常用的几个过滤器,如 UsernamePasswordAuthenticationFilter、BasicAuthenticationFilter 等都直接或间接实现了 Servlet 中的过滤器接口,并完成某些具体的认证机制。例如,BasicAuthenticationFilter 用来验证用户的身份凭证,而 UsernamePasswordAuthenticationFilter 会检查输入的用户名和密码并根据认证结果决定是否将这一结果传递给下一个过滤器。

Spring Security 中的过滤器链是一个强大且灵活的安全机制,通过配置适当的过滤器和处理逻辑,可以有效地保护应用程序的资源免受未经授权的访问和攻击。如下图:

注意,整个 Spring Security 过滤器链的末端是一个 FilterSecurityInterceptor,它本质上也是一个过滤器。但与其他用于完成认证操作的过滤器不同,其核心功能是实现权限控制,也就是用来判断请求能否访问目标 HTTP 端点。FilterSecurityInterceptor 的权限控制的颗粒度可以达到方法级别,能够满足精细化访问控制。

Spring Security 中常用过滤器的名称、功能及其之间的顺序关系。

顺序过滤器名称过滤器功能
1ChannelProcessingFilter可根据配置进行协议的重定向。
2SecurityContextPersistenceFilter针对每个 Web 请求,
http://www.lryc.cn/news/512297.html

相关文章:

  • Slate文档编辑器-Decorator装饰器渲染调度
  • 本地Docker部署Flowise并实现远程构建LLM应用程序原型高效开发
  • 多点通信、流式域套接字
  • vue3使用video-player实现视频播放(可拖动视频窗口、调整大小)
  • 模块化和面向接口的设计:深入理解和应用
  • 《SwiftUI 实现点击按钮播放 MP3 音频》
  • 微机接口课设——基于Proteus和8086的打地鼠设计(8255、8253、8259)Proteus中Unknown 1-byte opcode / Unknown 2-byte opcode错误
  • MySQL如何执行.sql 文件:详细教学指南
  • 非周期性脑活动的动态重构支持癫痫患者的认知功能:一种神经指纹识别方法
  • ZYNQ初识6(zynq_7010)clock时钟IP核
  • 使用MFC编写一个paddleclas预测软件
  • SAP SD BP名称和销售订单描述的对应不起来的问题
  • FlastOcc-网络复现-1.环境配置及问题
  • Go语言中值接收者和指针接收者的区别?
  • kafka小实站
  • 基于Python实现车辆检测、机动车检测、识别位置标记、计数
  • 心理学硕士
  • python量化分析学习与实践1:API接口篇
  • 【GO基础学习】gin的使用
  • 网卡状态变更,virtio-net检测
  • 中华人民共和国保守国家秘密法
  • ELK日志收集系统部署
  • 3D线上艺术展:艺术与技术的完美融合
  • TiDB 的MPP架构概述
  • Leetcode 10-正则表达式匹配/ 剑指 Offer 19. 正则表达式匹配
  • FFmpeg 编码和解码
  • kali当中web扫描工具的用法
  • 深度剖析 Android Animation 框架
  • 泰山派GPIO子系统驱动---亮灯
  • 【C#特性整理】C#特性及语法基础