带有 Spring Security 的 Cors

Posted

技术标签:

【中文标题】带有 Spring Security 的 Cors【英文标题】:Cors with Spring Securtiy 【发布时间】:2020-06-11 23:13:56 【问题描述】:

在 Spring Security 中,我在哪里配置带有表单登录的 CORS?我想用CorsConfigurationSource bean 来做,但我一直看到有冲突的来源,但它们都不起作用。

【问题讨论】:

【参考方案1】:

在与同事反复讨论后,我发现最简单的方法是使用允许的默认值。当然,这取决于您要允许 cors 做什么。最简单的启用方法是以下,它应该在扩展 WebSecurityConfigurerAdapter 的配置类中。

    @Bean
    public CorsConfigurationSource corsConfigurationSource() 
        final CorsConfiguration configuration = new CorsConfiguration();
        configuration.applyPermitDefaultValues();
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", configuration);
        return source;
    

快速提示,下次再具体一点,以便其他用户可能与您的问题相关并使用相同的正确答案。如果您需要具有自定义属性的 cors 策略,请告诉我。很乐意解释。

【讨论】:

以上是关于带有 Spring Security 的 Cors的主要内容,如果未能解决你的问题,请参考以下文章

带有 Spring Security 核心和 CORS 插件的 grails REST API 不适用于 OPTIONS http 方法请求

使用spring security的auth api调用的cors错误

[CORS][Spring Security] PreFlight 请求未处理

Spring Boot Security 忽略 cors 配置

CORS 预检通道在 Spring Security 中没有成功

为啥 Spring Security 身份验证会导致 CORS 错误