当前位置: 首页 > 知识库问答 >
问题:

CORS起源Spring靴Jhipster-飞行前失败

连时铭
2023-03-14

我使用的是JHIPSTERV2.27.2,我通过取消application.yml中的行注释来启用cors

jhipster:
async:
    corePoolSize: 2
    maxPoolSize: 50
    queueCapacity: 10000

cors: #By default CORS are not enabled. Uncomment to enable.
    allowed-origins: "*"
    allowed-methods: GET, PUT, POST, DELETE, OPTIONS
    allowed-headers: "*"
    exposed-headers:
    allow-credentials: true
    max-age: 1800
@Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = props.getCors();
        if (config.getAllowedOrigins() != null && !config.getAllowedOrigins().isEmpty()) {
            source.registerCorsConfiguration("/api/**", config);
            source.registerCorsConfiguration("/v2/api-docs", config);
            source.registerCorsConfiguration("/oauth/**", config);
        }
        return new CorsFilter(source);
    }

共有1个答案

毋澄邈
2023-03-14

在默认的securityconfiguration中,它不会跳过选项的安全检查。

尝试将以下AntMatcher添加到SecurityConfiguration.java中的Protected void configure(HttpSecurity http)方法

.antMatchers(org.springframework.http.HttpMethod.OPTIONS, "/api/**").permitAll()
 类似资料:
  • 我在下面的链接中添加了过滤器作为问题的答案 Spring Boot Data Rest+CORS不能正确启用选项/删除

  • 在调试我遇到的CORS问题时,我发现了以下行为。Chrome发出以下选项预检请求(由Chrome本身在CURL中重写): 以下情况下服务器对此请求的响应: 是响应“无效CORS请求”的主体。如果我重复该请求,删除标头“Access Control request Method”(仅该标头),则OPTIONS请求将成功,并得到以下响应: 然而,有问题的头是CORS规范标准头,所以它不应该阻止请求成功

  • 我有一个Spring Boot/Spring Data REST服务,允许访问许多资源。其中一些资源(例如)可以自由访问,其他资源(例如)需要基本的HTTP身份验证。通过使用CURL测试REST服务,所有工作都按预期进行。当我试图从Angular2 web应用程序访问服务时,问题就会出现。

  • 我需要添加CORS过滤器到我的Spring Boot web应用程序。 我添加了CORS映射,如下文所述http://docs.spring.io/spring/docs/current/spring-framework-reference/html/CORS.html 这是我的配置:

  • 我正在使用keycloak来保护我的rest服务。我引用的是这里给出的教程。我创建了其余部分和前端。现在,当我在后端添加keycloak时,当我的前端调用api时,我会得到CORS错误。 我调用的示例REST API 前端keycloak.json属性包括 我得到的CORS错误

  • 我的服务器运行在localhost:8080(spring boot app)上,前端运行在localhost:3000(angular app)上。问题是我想从前端向后端服务器发出请求。我熟悉cors,但对我来说不起作用。我已将此添加到我的服务器: ,但我仍然得到 XMLHttpRequest无法加载http://localhost:8080/cars.请求被重定向到http://localho