admin管理员组

文章数量:1794759

axios  springboot  跨域问题解决   Access

axios springboot 跨域问题解决 Access

这是本地环境解决用的,  部署服务器测试或生产环境时必须注释掉, 服务器环境下有nginx可以解决跨域问题。

最终解决为步骤 5 。

1:403  前端访问后端controller 403 , 代表跨域无权限访问

 

2:  后端类加上   @CrossOrigin   放开权限的注解, 并且requestmapping method={requestMthod,post,requestMthod.options}

 

3:@CrossOrigin 为 * , 下图图片 Access-Control-Allow-Origin  意思是  Origin 不能为*

   将上面第2步@CrossOrigin 

    改为  @CrossOrigin(origins = "IP加端口"), 比如@CrossOrigin(origins = "192.168.0.1:8080")

 

4:  有可能出现下图为  Access-Control-Allow-Credentials 是否支持安全证书 为空

5:  将上面第3步  @CrossOrigin(origins = "IP加端口") 

       改为:  @CrossOrigin(allowCredentials = "true"), 改为支持安全证书。 就可以了。

    注意还有一个就是方法需要加上访问的方式:

   这是注解方式解决:

这是代码方式:

package com.htcf; import java.util.HashMap; import java.util.Map; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.springbootApplication; import org.springframework.context.annotation.Bean; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; import com.alibaba.fastjson.JSONObject; import com.tydic.open.DopApiException; import com.tydic.open.DopApiV1; @SpringBootApplication public class TestMain { public static void main(String[] args){ SpringApplication.run(TestMain.class, args); } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.addAllowedOrigin("IP:8081"); corsConfiguration.setAllowCredentials(true); source.registerCorsConfiguration("/**", corsConfiguration); return new CorsFilter(source); } }

 

本文标签: axiosSpringBootAccess