ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

后端实现跨域(三种方式)

2026/8/11 4:15:47 拓冰建站 浏览量
后端实现跨域(三种方式)

相较于前端实现跨域,有时会出现跨域失败,列举后端三种方式实现跨域

1.加注解 代码重复

 /*** 获取用户信息* * @return 用户信息*/@GetMapping("getInfo")@CrossOriginpublic AjaxResult getInfo(){SysUser user = SecurityUtils.getLoginUser().getUser();// 角色集合Set<String> roles = permissionService.getRolePermission(user);// 权限集合Set<String> permissions = permissionService.getMenuPermission(user);AjaxResult ajax = AjaxResult.success();ajax.put("user", user);ajax.put("roles", roles);ajax.put("permiss", permiss);return ajax;}


2.实现接口并重写方法来解决跨域

@Configuration
public class CORSConfiguration implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOriginPatterns("*").allowedMethods("GET","POST","PUT","HEAD").allowCredentials(true).allowedHeaders("*").maxAge(3600);}
}


3.添加过滤器来实现跨域

@Configuration
public class CORSFilter {@Beanpublic CorsFilter corsFilter(){CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedOrigin("*");corsConfiguration.addAllowedMethod("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**",corsConfiguration);return new CorsFilter(source);}
}