为了使其正常工作,你需要按如下所示在Spring Security级别显式启用CORS支持,否则启用CORS的请求可能会在到达Spring MVC之前被Spring Security阻止。
如果使用控制器级别的
@CrossOrigin注释,则只需启用Spring Security CORS支持,它将利用Spring MVC配置:
@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and()... }}如果你更喜欢使用CORS全局配置,则可以声明一个
CorsConfigurationSourcebean,如下所示:
@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and()... } @Bean CorsConfigurationSource corsConfigurationSource() { UrlbasedCorsConfigurationSource source = new UrlbasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues()); return source; }}


