最近因為專案,需要了解在不同的網域名稱下,同步登陸狀態等cookie。
於是兄弟公司那了解了一種跨域同步cookie的方案。
這些**背後很多是同一套會員體系。由於http協議規定cookie是跟著網域名稱走的,這時就需要在不同的網域名稱下同步登陸狀態,避免出現使用者體驗上出現需要二次登陸驗證的情況。
假設下面這樣乙個場景:
使用者在 bbb.com上已經登陸,現在要去aaa.com上玩,在aaa.com網域名稱下暫未登入。需要訪問的aaa.com/resource.html資源需 要登入才能訪問。兩個**是同一套會員體系,同乙個公司的。這是要讓使用者體驗上做到使用者在aaa.com上玩也能識別出登入狀態。
以上面場景為例,下面畫了個實現跨域同步簡單流程圖:
解釋如下:
第一步:使用者向aaa.com發起get請求,獲取resource.html資源,aaa.com發現使用者未登入,返回302狀態和外部重定向url:
j.bbb.com?target=www.aaa.com/resource.html
注意j.bbb.com子網域名稱上部署的應用可以認為是專門用了跨域同步。
第二步:使用者根據重定向url,訪問j.bbb.com?target=www.aaa.com/resource.html,由於在bbb.com上已經登 錄,所以bbb.com上能拿到從client端傳遞過來cookie資訊。子域j.bbb.com上的應用負責將cookie讀取出來,並作為引數再次 重定向到
p.aaa.com?tartet=www.aaa.com/resource.html&sessionid=***&loginid=***&……
第三步:使用者根據第二步重定向url,訪問p.aaa.com。p.aaa.com子網域名稱上的應用專門負責根據請求引數裡的引數對,往aaa.com域寫入cookie,並重定向到使用者第一步請求的url。
第四步:經過前三步,已經完成了再aaa.com網域名稱下同步bbb.com的登入狀態,使用者再次請求aaa.com/resource.html,這是就能成功訪問了。
(全文完)
Cookie 跨域解決方案(IFrame跨域)
iframe跨域思路 假設有a.haorooms.com text.html和b.haorooms.com text.html兩個頁面,通過a.haorooms.com text.html頁面去修改b.haorooms.com text.html頁面的本地資料 在a.haorooms.com tex...
Cookie跨域操作解決方案Cookie跨域操作
cookie跨域操作解決方案cookie跨域操作 cookie在www主網域名稱下建立,並寫入domain屬性,如 為方便除錯以下 皆為asp code write.asp response.cookies cookiename username sunbird response.cookies c...
ajax 跨域cookie解決方案
什麼是session,什麼是cookie?session是由應用伺服器維持的乙個伺服器端的儲存空間,使用者在連線伺服器時,會由伺服器生成乙個唯一的 sessionid,用該sessionid為識別符號來訪問伺服器端的session儲存空間。而sessionid這一資料則是儲存到客戶 端,用cooki...