深入浅出Spring Security(二):FilterChainProxy的创建过程

本文详细探讨了Spring Security框架中的FilterChainProxy创建过程,从@EnableWebSecurity注解引入的WebSecurityConfiguration,到FilterChainProxy的buildFilterChain方法,以及如何收集并初始化过滤器列表。文中还提到了SpEL表达式在配置过程中的应用,以及避免重复过滤器的机制。同时,文章指出如果自定义的配置类未被Spring扫描,可能导致配置失效的问题。文章最后预告了系列后续内容,包括FilterChainProxy的运行过程和认证授权等主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇回顾

  • 框架的核心是一个过滤器,这个过滤器名字springSecurityFilterChain类型FilterChainProxy
  • WebSecurityHttpSecurity都是建造者
  • WebSecurity构建目标是FilterChainProxy对象
  • HttpSecurity的构建目标仅仅是FilterChainProxy中的一个SecurityFilterChain
  • @EnableWebSecurity注解,导入了WebSecurityConfiguration
  • WebSecurityConfiguration中创建了建造者对象WebSecurity,和核心过滤器FilterChainProxy

WebSecurityConfiguration开始

WebSecurityConfiguration中需要关注两个方法:

  1. setFilterChainProxySecurityConfigurer()方法

    创建了WebSecurity建造者对象,用于后面建造FilterChainProxy过滤器

  2. springSecurityFilterChain()方法

    调用WebSecurity.build(),建造出FilterChainProxy过滤器对象

WebSecurity的创建过程:setFilterChainProxySecurityConfigurer()方法

该方法负责收集配置类对象列表webSecurityConfigurers,并创建WebSecurity

  1. @Value("#{}") 是SpEl表达式通常用来获取bean的属性或者调用bean的某个方法。

  2. 方法执行时,会先得到webSecurityConfigurers并排序(所有实现了We

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值