cookie為什么不能跨域訪問 如何使用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的屬性:域、過期時(shí)間和存儲(chǔ)在cookie中的其他值。這里,strusename和strpassword是在前面某處設(shè)置的變量。然后,通過下面的語句讀入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”)
正常情況下,瀏覽器禁止跨域訪問cookies。通常,跨域cookies可以通過SSO服務(wù)獲得。其思想是:域a頁面訪問位于域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ù)器通過加密字符串從域a服務(wù)器獲取cookie信息,并在響應(yīng)頭中添加set cookie字段來設(shè)置cookie