忽略对特定端点

时间:2017-05-16 07:30:53

标签: java spring

我为扩展WebSecurityConfig的{​​{1}}提供了以下配置方法:

WebSecurityConfigurerAdapter

@Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .authorizeRequests() .antMatchers("/login").permitAll() .and() .authorizeRequests() .antMatchers("/signup").permitAll() .and() .authorizeRequests() .anyRequest().authenticated() .and() .addFilterBefore( new JWTAuthenticationFilter(userDetailsServiceBean()), UsernamePasswordAuthenticationFilter.class); } 实际上过滤了在所有端点上收到的请求,并检查它们的标头中是否有正确的JWT身份验证令牌。

我不希望此过滤器针对JWTAuthenticationFilter端点发出的请求执行!有没有办法忽略特殊端点的过滤器? (此处/login/login)。

是否有充分理由让此过滤器针对包括/signuplogin在内的所有端点发出的请求执行?

1 个答案:

答案 0 :(得分:3)

您可以尝试添加以下内容

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring()                
            .antMatchers("/login**", "/signup**");
}