SpringMVC 跨域配置
boot 跨域配置
这个建议看具体的官方文档,里面写得有,不同版本建议的配置不一致,这里就一个过滤器
https://docs.spring.io/spring-boot/docs/2.3.3.RELEASE/reference/htmlsingle/#boot-features-cors 关于制定的版本如何找到对应的在线文档,请看前面的笔记 Spring 开发中的实战
package cn.mrcode.foodiedev.sso;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;/*** 跨域配置** @author mrcode* @date 2021/2/13 16:27*/@Configurationpublic class CorsConfig {@Beanpublic CorsFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();// 设置运行跨域的地址,也可以使用 * 代替允许所有地址config.addAllowedOrigin("http://www.mtv.com");config.addAllowedOrigin("http://www.mtv.com:8080");config.addAllowedOrigin("http://www.music.com");config.addAllowedOrigin("http://www.music.com:8080");config.addAllowedOrigin("*");// 是否运行携带 cookie 相关信息// 在前端也有的框架可以配置这一样,前端是否允许跨域的时候携带:axios.defaults.withCredentials = true;config.setAllowCredentials(true);// 允许访问所有的 http 请求方式,如 get、postconfig.addAllowedMethod("*");config.addAllowedHeader("*");// 为 url 添加映射路径// 允许所有路径使用该配置UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);return new CorsFilter(source);}}
