Spring security 如何在SpringHTTP/web安全中完全忽略某个路径

Spring security 如何在SpringHTTP/web安全中完全忽略某个路径,spring-security,Spring Security,我有一个Spring安全配置,它通过读取特定的头值来“认证”用户。因此,使用RequestHeaderAuthenticationFilter(): 我需要从安全性中排除某个路径:“/actuator/health” 首先,我试图通过配置HttpSecurity来“许可安装”: http.authorizeRequests().antMatchers(HEALTH_PATH_NOAUTH).permitAll().anyRequest().authenticated(); 但是,正如您在第一个

我有一个Spring安全配置,它通过读取特定的头值来“认证”用户。因此,使用RequestHeaderAuthenticationFilter():

我需要从安全性中排除某个路径:“/actuator/health” 首先,我试图通过配置HttpSecurity来“许可安装”:

http.authorizeRequests().antMatchers(HEALTH_PATH_NOAUTH).permitAll().anyRequest().authenticated();
但是,正如您在第一个清单中看到的,这既无助于也无助于覆盖“WebSecurity”。 如果未设置标头,RequestHeaderAuthenticationFilter将始终引发其异常。我希望抛出此异常,但不是针对此特定路径

如何解决这个问题


更新:我删除了“bean”并将方法设置为私有,但这应该没有什么区别-
web.ignering().antMatchers(HEALTH\u PATH\u NOAUTH)应该工作,无论任何过滤器添加显式或作为bean,甚至两次-对吗?

在我的情况下,添加过滤器的可能重复是可以的(也可以两次)-应该“web.ignoring”不忽略所有过滤器,不管有多少个?不,它只忽略安全过滤器链中的过滤器。第二个筛选器位于web筛选器链中,不能忽略。第二个筛选器是什么?添加两次的筛选器,第一个在安全筛选器链中,第二个在servlet筛选器链中。
http.authorizeRequests().antMatchers(HEALTH_PATH_NOAUTH).permitAll().anyRequest().authenticated();