后端解决跨域的三种方式

一、在WebMvcConfig中重写addCorsMappings方法

在这里插入图片描述

二、在SecurityConfig中创建corsConfigurationSource

在这里插入图片描述

三、创建跨域配置类实现

package com.moss.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

import java.util.Collections;

/**
 * 跨域配置
 *
 * @author moss
 */
@Configuration
public class CorsConfig {

    public CorsConfig() {
    }

    @Bean
    public CorsFilter corsFilter() {
        //  1、添加cors配置信息
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //  设置前端的域名
        corsConfiguration.setAllowedOrigins(Collections.singletonList("*"));
        //  设置是否发送cookie信息
        corsConfiguration.setAllowCredentials(true);
        //  设置允许的请求方式
        corsConfiguration.setAllowedMethods(Collections.singletonList("*"));
        //  设置允许的header
        corsConfiguration.setAllowedHeaders(Collections.singletonList("*"));

        //  2、为url添加映射路径
        UrlBasedCorsConfigurationSource corsSource = new UrlBasedCorsConfigurationSource();
        corsSource.registerCorsConfiguration("/**", corsConfiguration);

        //  3、返回重新定义好的corsSource
        return new CorsFilter(corsSource);

    }
}


版权声明:本文为weixin_38657051原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。