《Spring Security》第十五章 CORS - HTTP请求控制

第十五章 CORS - HTTP请求控制

Spring 框架为 CORS 提供了一系列的支持。CORS 的处理在 Spring Security 之前,因为此时的请求不包含任何 cookie(JSESSIONID)。

处理CORS 最简单的方法是使用 CorsFilter,通过配置一个 CorsConfigurationSource,可以将 CorsFilter 与 Spring Security 集成。

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void config(HttpSecurity http) throws Exception {
        http
            // 默认情况下使用名为 corsConfigurationSource 的bean
            // 这里可以省略指定 CorsConfigurationSOurce
            .cors().and()
            ...
    }

    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowedOrigins(Arrays.asList("https://example.com"));
        config.setAllowedMethods(Arrays.asList("GET","POST"));

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return source;
    }
}
文章作者: koral
文章链接: http://luokaiii.github.io/2019/07/23/读书笔记/《SpringSecurity》/15.CORS/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自