我有两个规则,第一个来自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时,我希望此网址不会进入此过滤器。
答案 0 :(得分:2)
您可以使用WebSecurity参数覆盖configure方法。
{{1}}
在提供文档中建议的静态内容(如css / * js / *)时应该使用此方法,但是我找不到另一种方法来允许在Spring Security中使用自定义过滤器进行URL映射。
答案 1 :(得分:0)
<security:http pattern="/support/**" security="none"/>
您可能需要编写上述XML配置的Java等价物。基本上,您正在为上述模式设置一个没有安全性的新过滤器链。