关于spring security中设置header无效问题解决方式.
1.查看spring security,发现会自动创建多个对象。此时需要通过排序来进行,将自己设置的配置文件提前初始化来满足
2.原因找到了。自己配置了多个config。所以造成创建了多个filter。这里一定要注意哦~~~
@EnableWebSecurity
@Order(1) //排序来处理这样的问题。但是没有治本,需要查看为什么要初始化多个对象...
public class SecurityConfig extends WebSecurityConfiguerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
//这里会新建一个对象。
http.headers().frameOptions().sameOrigin(); // 同源跨域,默认DENY
http.csrf().disable()
.authorizeRequests()
.anyRequest().permitAll()
.and().logout().permitAll();
http.cors().configurationSource(corsConfigurationSource());
}
//配置跨域访问资源
private CorsConfigurationSource corsConfigurationSource() {
CorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*"); // 同源配置,*表示任何请求都视为同源,若需指定ip和端口可以改为如“localhost:8080”,多个以“,”分隔;
corsConfiguration.addAllowedHeader("*");// header,允许哪些header
corsConfiguration.addAllowedMethod("*"); // 允许的请求方法,PSOT、GET等
((UrlBasedCorsConfigurationSource) source).registerCorsConfiguration("/**", corsConfiguration); // 配置允许跨域访问的url
return source;
}
}

浙公网安备 33010602011771号