在spring-boot

时间:2016-09-14 07:16:34

标签: authentication spring-security spring-boot

我的项目有2个API。第一个需要身份验证,第二个不需要。

我成功地为第一个API /auth/uploadFile

添加了基于令牌的身份验证过滤器

以下是 SecurityConfig 类的代码段,扩展 WebSecurityConfigurerAdapter

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.addFilterBefore(tokenAuthenticationFilter, BasicAuthenticationFilter.class).authorizeRequests()
                .antMatchers("/auth/uploadFile/").permitAll().anyRequest()
                .authenticated().and().csrf().disable();
    }

没有将我的第二个API /noauth/uploadFile添加到 antMatchers(),但它仍然会输入自定义 tokenAuthenticationFilter 当我打电话给它时。

当我调用第二个API /noauth/uploadFile时,如何避免输入我的自定义过滤器 tokenAuthenticationFilter ,但我的过滤器不应该应用于第二个API?

1 个答案:

答案 0 :(得分:2)

您可以在SecurityConfig类中覆盖/添加以下方法。

public void configure(WebSecurity web) throws Exception {
    web
        .ignoring()
        .antMatchers("/noauth/**");
}