Spring MVC 4.2+ CORS返回403

我创建了一个新的简单的Spring MVC应用程序(使用4.2.1.Release,现在切换到4.2.7.Release)。 该应用很简单:

WEB.XML:

 proxy org.springframework.web.servlet.DispatcherServlet 1  dispatchOptionsRequest true   contextConfigLocation classpath*:my-cool-context.xml    proxy /*  

语境:

     

和控制器

 @Controller @RequestMapping("/") @CrossOrigin public class MySupercoolController { @CrossOrigin @RequestMapping(path="test", method = RequestMethod.POST) @ResponseBody private ResponseEntity executePostProxy(HttpServletRequest request){ return new ResponseEntity("TEST", HttpStatus.OK); } } 

现在 – 控制器本身正在工作并返回我的文本,因此控制器被加载到上下文中。 但是该端点的preflightRequest正在获得403 Forbidden响应,并且没有设置CORS响应heaeders。 我正在使用JBOSS,但我已经validation了OPTIONS请求到达Spring(正在执行FrameworkServlet doOptions方法,通过调试器检查)。 在Spring MVC中我还应该为CORS配置什么吗?

BTW上下文CORS配置和Annotation配置 – 我试图让它工作,所以我尝试使用xml,注释和两者。

看来,这也是必要的:

 @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**"); } }