SpringSecurity添加支持角色或请求头双访问控制的过滤链
如下图是一个原生的Filter,但是并不支持SpringSecurity角色控制访问。想让这个过滤链支持请求头是否正确或是否有对应的角色,满足两个其一即放行,否则重定向到主界面。
注:可以使用原生Filter或者Spring的OncePerRequestFilter
就比如把下面两个结合起来
Security的过滤器是需要在配置文件添加配置的,要指定其执行的顺序,比如以下:
@Bean
@Order(2)
public SecurityFilterChain webSiteSecurityFilterChain(HttpSecurity http) throws Exception {
return http
.addFilterBefore(tokenAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
.authorizeRequests()
//省略.......
}
```