Spring Security:(七)通过HttpSecurity构建SecurityFilterChain

调用 HttpSecurity 的 build() 方法可以返回一个 SecurityFilterChain 实例。

继承关系图

HttpSecurity 的 build() 方法在顶层接口 SecurityBuilder 中定义的。

调用关系图

1. AbstractSecurityBuilder 实现了 SecurityBuilder 的 build() 方法,在其方法体内 build() 调用了 doBuild() 方法

2. AbstractConfiguredSecurityBuilder 中的 boBuild() 方法调用了 performBuild() 方法

3. 在 HttpSecurity 中的 performBuild() 方法中通过 new 关键字实例化了 DefaultSecurityFilterChain,这里的 DefaultSecurityFilterChain 是 SecurityFilterChain 的唯一实现类。至此 httpSecurity.build() 方法就返回了一个 SecurityFilterChain 实例。

以上就是 httpSecurity.build() 方法执行概况。

 

posted @ 2022-03-26 22:15  colin220  阅读(719)  评论(0编辑  收藏  举报