鍍金池/ 問(wèn)答/Java  HTML/ ant-design-pro 如何在請(qǐng)求的時(shí)候配置上cookie

ant-design-pro 如何在請(qǐng)求的時(shí)候配置上cookie

聯(lián)調(diào)的時(shí)候
有的接口因?yàn)闄?quán)限問(wèn)題,希望能手動(dòng)配上cookie,跳過(guò)登錄

用npm run start:no-proxy啟動(dòng)的項(xiàng)目
然后在.webpackrc里面做了如下配置

clipboard.png

但是發(fā)現(xiàn)cookie并沒(méi)有帶上

clipboard.png

求大神指導(dǎo)!

回答
編輯回答
墨染殤

跨域情況下如何發(fā)送cookie

瀏覽器的安全基石“同源策略”在一定程度上避免了一些漏洞。其目的是為了保證用戶信息的安全,防止惡意的網(wǎng)站竊取數(shù)據(jù)。在同源策略的基礎(chǔ)上,如果是非同源的話,將限制以下三種行為:

  • Cookie、localStorage、IndexDB無(wú)法讀取
  • DOM無(wú)法獲得
  • AJAX請(qǐng)求不能發(fā)送。

CORS(跨域資源共享)是目前的一個(gè)W3C的標(biāo)準(zhǔn),允許瀏覽器向跨域服務(wù)器發(fā)送請(qǐng)求。相對(duì)于其他的幾種跨域方式,CORS應(yīng)用范圍廣。在CORS請(qǐng)求中,其默認(rèn)不發(fā)送Cookie和HTTP認(rèn)證信息,如何將cookie添加到請(qǐng)求頭部發(fā)送給服務(wù)器,一方面需要服務(wù)器同意,指定 Access-Control-Allow-Credentials 字段。

Access-Control-Allow-Credentials: true

另一方面,需要客戶端在發(fā)送請(qǐng)求時(shí),設(shè)置 withCredentials屬性。

 var xhr = new XMLHttpRequest();
    xhr.withCredentials = true;

或者

$.ajax({
   url: a_cross_domain_url,
   xhrFields: {
      withCredentials: true
   }
});

注意:跨域發(fā)送Cookie時(shí),Access-Control-Allow-Origin就必須指定明確的域名,不能指定為星號(hào)。

2018年2月16日 14:27
編輯回答
哚蕾咪

header加上 credentials: 'include'

2018年8月24日 04:10