cookie為什么不能跨域訪問(wèn) 如何使用Cookie實(shí)現(xiàn)跨域的單點(diǎn)登錄?
如何使用Cookie實(shí)現(xiàn)跨域的單點(diǎn)登錄?在指定的域中寫入所需的cookiecreate cookie回應(yīng)。餅干(“MyCookie”).Expires=日期365回應(yīng)。餅干(“MyCookle”)。域
如何使用Cookie實(shí)現(xiàn)跨域的單點(diǎn)登錄?
在指定的域中寫入所需的cookie
create cookie回應(yīng)。餅干(“MyCookie”).Expires=日期365回應(yīng)。餅干(“MyCookle”)。域=“mydomaln.com網(wǎng)站"
回應(yīng)。餅干(“MyCookle”)(“Username”)=strUsername回應(yīng)。餅干(“MyCookle”)(“Password”)=strPassword
讀寫cookie非常簡(jiǎn)單。上面的代碼創(chuàng)建一個(gè)cookie并設(shè)置cookie的屬性:域、過(guò)期時(shí)間和存儲(chǔ)在cookie中的其他值。這里,strusename和strpassword是在前面某處設(shè)置的變量。然后,通過(guò)下面的語(yǔ)句讀入cookie。
“讀取cookie
datexpdate=請(qǐng)求Cookies(“MyCookie”)
標(biāo)準(zhǔn)域=請(qǐng)求Cookies(“MyCookle”).Domain
結(jié)構(gòu)名稱=請(qǐng)求Cookies(“MyCookle”)(“Username”)
strPassword=請(qǐng)求Cookies(“MyCookie”)(“Password”)
正常情況下,瀏覽器禁止跨域訪問(wèn)cookies。通常,跨域cookies可以通過(guò)SSO服務(wù)獲得。其思想是:域a頁(yè)面訪問(wèn)位于域a中的服務(wù)器,驗(yàn)證權(quán)限,域a服務(wù)器與域B服務(wù)器通信,記錄認(rèn)證域的唯一加密字符串(并向域B服務(wù)器發(fā)送cookie信息),域a服務(wù)器返回302跳到域B,并將加密字符串作為URL的一部分從域a跳轉(zhuǎn)到域B,域B服務(wù)器通過(guò)加密字符串從域a服務(wù)器獲取cookie信息,并在響應(yīng)頭中添加set cookie字段來(lái)設(shè)置cookie