Permit在Spring Security

时间:2017-03-27 15:28:59

标签: spring spring-security spring-oauth2

我有两个规则,第一个来自oauth / **的每个url应该没有安全性,而其他url必须安全。但现在所有网址都是安全的,包括来自oauth / **的网址。 这是我的安全配置规则。

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        // JWT dont need CSRF
        httpSecurity.csrf().disable().exceptionHandling().and().sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests()
                .antMatchers("oauth/**").permitAll().and()
                .addFilterBefore(new JwtAuthenticationTokenFilter(), BasicAuthenticationFilter.class);

        // disable page caching
        httpSecurity.headers().cacheControl();
    }

}

当我请求输入我的JwtAuthenticationTokenFilter的网址http://localhost:8080/oauth/fb时,我希望此网址不会进入此过滤器。

2 个答案:

答案 0 :(得分:2)

您可以使用WebSecurity参数覆盖configure方法。

{{1}}

在提供文档中建议的静态内容(如css / * js / *)时应该使用此方法,但是我找不到另一种方法来允许在Spring Security中使用自定义过滤器进行URL映射。

答案 1 :(得分:0)

<security:http pattern="/support/**" security="none"/>

您可能需要编写上述XML配置的Java等价物。基本上,您正在为上述模式设置一个没有安全性的新过滤器链。