跨域问题--跨域携带cookie

不携带凭证

   java:后台

         registry.addMapping("/**")
                        .allowedOrigins("*")
                        //.allowCredentials(true) //这个是可以否携带凭证响应 凭证可以是Cookie ,授权标头或 TLS 客户端证书,一般都是cookie
                        .allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH")
                        .maxAge(3600);
                WebMvcConfigurer.super.addCorsMappings(registry);

  前端:

在后台设置allowCredentials(false)即(响应头中,Access-Control-Allow-Credentials字段为false)的情况下,前端不用设置请求头,可以直接发起请求

 

携带凭证

  在后台设置allowCredentials(true) 响应头中,Access-Control-Allow-Credentials字段为true)时,要同时满足以下三个条件才能够进行跨域

  后台:

    1.allowedOrigins("http://localhost:3000") 即(响应头的Access-Control-Allow-Origin:”http://localhost:3000“) 必须指定域名和端口,不能为”*“

    2.allowCredentials(true) 即(响应头中,Access-Control-Allow-Credentials字段为true)

  前端:

    1.设置请求头的withCredentials为true

 
原文地址:https://www.cnblogs.com/wrhbk/p/15151929.html