[英]Spring security and custom AuthenticationFilter with Spring boot
我有自定义身份验证筛选器,它创建PreAuthenticatedAuthenticationToken
并将其存储在安全上下文中。 一切正常。 这是配置:
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private SsoAuthenticationProvider authenticationProvider;
@Autowired
private SsoAuthenticationFilter ssoAuthenticationFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.addFilterAfter(ssoAuthenticationFilter, SecurityContextPersistenceFilter.class);
}
}
现在我的ssoAuthenticationFilter
是FilterChainProxy
一部分,位于正确的位置。 平滑。
但是当ssoAuthenticationFilter
是Filter
它会被Boot选中并作为过滤器包含在内。 所以我的滤镜链看起来像:
Filter
包含在内) http.addFilterAfter(...)
包含) 显然我想在这里摆脱ssoAuthenticationFilter
的自动注册(列出的第一个)。
任何提示非常感谢。
2种选择:
添加FilterRegistrationBean
@Bean
并将过滤器bean作为其目标过滤器,并将其标记为enabled = false
不要为你的过滤器创建一个@Bean
定义(通常这就是我所做的,但YMMV,因为你可能依赖于自动装配或某些东西让它工作)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.