SpringSecurity添加支持角色或请求头双访问控制的过滤链

SpringSecurity添加支持角色或请求头双访问控制的过滤链
如下图是一个原生的Filter,但是并不支持SpringSecurity角色控制访问。想让这个过滤链支持请求头是否正确或是否有对应的角色,满足两个其一即放行,否则重定向到主界面。
注:可以使用原生Filter或者Spring的OncePerRequestFilter
就比如把下面两个结合起来

img


img

Security的过滤器是需要在配置文件添加配置的,要指定其执行的顺序,比如以下:

 @Bean
    @Order(2)
    public SecurityFilterChain webSiteSecurityFilterChain(HttpSecurity http) throws Exception {
        return http
                .addFilterBefore(tokenAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
                .authorizeRequests()
              //省略.......
    }

```