Spring Security在启动阶段会注册一些bean,并构建过滤器链,Spring Security的“安全”功能都是封装在该过滤器链中的。一般我们会根据业务需求向bean容器中注册一个过滤器链bean,该bean对象在启动阶段会被扫描到,并设置到相应的组件中。

Spring Security是基于过滤器链来处理请求的,在Spring Security的启动流程一文中,讲到Spring Security注册到servlet上下文中的过滤器是DelegatingFilterProxy,而该过滤器代理了FilterChainProxy。本文就来分析一下请求是怎么在这些过滤器中流转的。