前提:在域名".myweb.com"下,有兩個(gè)站點(diǎn)A(a.myweb.com)和B(b.myweb.com),兩個(gè)站點(diǎn)之間可以進(jìn)行單點(diǎn)登錄。單點(diǎn)登錄的邏輯為,當(dāng)用戶訪問某個(gè)站點(diǎn)下的任何頁面時(shí),會判斷當(dāng)前站點(diǎn)下是否有會話信息的cookie,沒有則訪問Login站點(diǎn)(login.myweb.com),判斷Login站點(diǎn)中是否有會話信息的cookie,沒有則重定向到登錄頁,有則跳轉(zhuǎn)到執(zhí)行判斷前的頁面;當(dāng)用戶在某個(gè)站點(diǎn)登錄后,會在當(dāng)前站點(diǎn)和Login站點(diǎn)中存儲當(dāng)前會話信息的cookie。(單點(diǎn)登錄的邏輯由于客觀原因現(xiàn)已無法修改)。問題:在A站點(diǎn)中放一個(gè)iframe,iframe的內(nèi)容是B站點(diǎn)的某個(gè)頁面,但由于單點(diǎn)登錄中的重定向使用的是window.top,所以會導(dǎo)致整個(gè)頁面進(jìn)行跳轉(zhuǎn)到B站點(diǎn)中,所以希望在iframe渲染B站點(diǎn)的頁面前,將A站點(diǎn)會話信息的cookie設(shè)置到B站點(diǎn)中,這樣便可實(shí)現(xiàn)不訪問Login站點(diǎn)從而觸發(fā)重定向。我使用的是jq.cookie的插件,但實(shí)際開發(fā)中,在A站點(diǎn)中執(zhí)行以下代碼是不起效的。通過查閱資料,應(yīng)該由于cookie跨域設(shè)置導(dǎo)致的,請問有什么解決辦法嗎?$.cookie('_serviceId','f850...', { domain: '.b.myweb.com',path: '/'});
如何實(shí)現(xiàn)cookie的跨站點(diǎn)設(shè)置
繁華開滿天機(jī)
2018-08-18 21:56:51