跨域问题--跨域携带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