开发者社区> 问答> 正文

我想问一下,我已经配置了好了cors,对所有的method放行,但是在实际中只有get可以进行访问,put和post则是会报invalid cors request

我想问一下,我已经配置了好了cors,对所有的method放行,但是在实际中只有get可以进行访问,put和post则是会报invalid cors request
_2

展开
收起
李博 bluemind 2019-02-20 12:52:55 11920 0
4 条回答
写回答
取消 提交回答
  • 自查下自我实现的HandlerInterceptorAdapter类比如授权验证,这类的order顺序优先级高,拦截后直接返回了。没有执行到设置httpServletResponse 的filter中。

    2019-10-22 19:42:28
    赞同 展开评论 打赏
  • 楼主问题解决了吗?

    2019-07-17 23:28:42
    赞同 展开评论 打赏
  • 1、确认下报错的接口是支持POST和PUT的
    2、确认下跨域配置,比如filter顺序,参考后面
    3、debug下框架源码,看是怎么走到invalid cors request路径的

    `
    @Configuration
    public class CorsConfig {
    @Bean
    public FilterRegistrationBean corsFilter() {

    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    CorsConfiguration config = new CorsConfiguration();
    config.setAllowCredentials(true);
    // 设置你要允许的网站域名,如果全允许则设为 *
    config.addAllowedOrigin("http://localhost:4200");
    // 如果要限制 HEADER 或 METHOD 请自行更改
    config.addAllowedHeader("*");
    config.addAllowedMethod("*");
    source.registerCorsConfiguration("/**", config);
    FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
    // 这个顺序很重要哦,为避免麻烦请设置在最前
    bean.setOrder(0);
    return bean;

    }
    }
    `

    2019-07-17 23:28:42
    赞同 2 展开评论 打赏
  • 如果get可以访问,可能是使用的框架没有配置好。可以找找相关的框架文档

    2019-07-17 23:28:42
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载