【问题标题】:Redirect Blocked by CORS Policy (React + SpringBoot)重定向被 CORS 策略阻止(React + Spring Boot)
【发布时间】:2021-01-23 23:05:47
【问题描述】:

我有一个基本的 react-app 在 localhost:3000 上运行。

该 react-app 对 localhost:9093 上的 SpringBoot 应用程序进行 axios 调用。 9093 上的应用程序使用 Spring MVC 将重定向返回到 localhost:8183 上的另一个 SpringBoot 应用程序。最后,8183 上的应用将重定向返回到localhost:3000 上的 react-app。

当我尝试这个时,我在我的 chrome 开发工具中收到以下消息:

Access to XMLHttpRequest at 'http://localhost:3000/?err_code=inv_otk' (redirected from 'http://localhost:9093/saml?email=a@a.com') from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

如果最终目的地和起点都在localhost:3000,为什么我会遇到问题?

如果需要更多信息,请告诉我!

【问题讨论】:

    标签: javascript reactjs spring spring-boot spring-mvc


    【解决方案1】:

    您可以在应用程序类中使用此代码。它将允许您在 React JS 中使用的所有端口。这必须在 Spring Boot Application 类中完成。

            /*****Cross Origin Implementation*****/
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
        .allowedMethods("*")
        .allowedOrigins("*")
        .allowedHeaders("*")
        .allowCredentials(true);
    }
    

    【讨论】:

    • 感谢您的回复。我将此添加到两个 Spring Boot 微服务中,但我仍然遇到完全相同的问题。我通过使用绕过 cors 检查的 chrome 扩展找到了一种解决方法,但我不想使用它
    【解决方案2】:

    Access-Control-Allow-Origin 错误来自一个 ajax 调用,该调用被名为 OPTIONS 调用的浏览器撤销。

    浏览器在看到代码时想要调用具有当前来源的不同 URL 的端点尝试调用 OPTIONS 调用以了解是否允许调用它。所以当OPTIONS 调用失败时,浏览器会阻止运行整个当前代码。

    对于解决方案,您应该尝试一些方法来传递OPTIONS 调用。其中之一是在您的 Webpack 配置中插入代理并传递所有 OPTIONS 调用 200。

    另一种方法是为后端项目上的每个 OPTIONS 调用传递 200 个答案。

    此外,您可以仅为开发区关闭浏览器安全性。

    【讨论】:

      【解决方案3】:

      您的控制器上可能需要@CrossOrigin 注解。

      @RestController
      @RequestMapping("/users")
      @CrossOrigin
      public class UserController {
          // doSomething();
      }
      

      【讨论】:

        猜你喜欢
        • 2020-05-03
        • 2018-10-12
        • 2018-07-20
        • 2020-07-03
        • 2020-11-27
        • 1970-01-01
        • 2020-08-29
        • 2020-09-11
        • 2021-04-16
        相关资源
        最近更新 更多