用跨域cookie實現簡單的SSO

2021-04-13 04:48:36 字數 453 閱讀 6617

流程大約是:乙個靜態頁中,用iframe分別鑲嵌兩個動態頁.最初登陸的cookie存放在頁a中,頁b要使用cookie時就用頁面跳轉的形式傳送請求,找到cookie後再加密傳回頁b處理.

理論很簡單,而且模式也和大多請求返回狀態的sso差不多.但是有幾個地方是要注意一下的.

1.頁面裡的cookie不能是瀏覽器程序的cookie(包括驗證票和不設定超時時間的cookie),否則跨域會取不到.這點做跨域cookie的人比較少提到.不過實際上留意下幾家大學做的方案,有細微的提到他們的驗證模組裡的cookie是有設定超時時間的.

2.當利用iframe時,記得要在相應的動態頁的頁頭新增一下p**的資訊,否則ie會自覺的把iframe框裡的cookie給阻止掉,產生問題.本身不儲存自然就取不到了.這個其實是frameset和cookie的問題,用frame或者iframe都會遇到.

3.測試時輸出trace,會減少很多測試的工作量.

實現跨域cookie共享

cookie有三個屬性需要注意一下 1.domain 域 2.path 路徑 3.expires 過期時間 跨域操作需要設定域屬性 response.cookies mycookie domain cnblogs.com 這裡指的是泛網域名稱 這樣在其它二級網域名稱下就都可以訪問到了,asp 和 a...

跨域 Cookie 實現單點登入

單點登入 sso single sign on 對於同乙個客戶端 例如 chrome 瀏覽器 只要登入了乙個子站 例如 a.com 則所有子站 b.com c.com 都認為已經登入。比如使用者在登入 後,跳轉到天貓時就已經登入了。未登入使用者訪問子站 a.com 進行登入,自動跳轉到賬戶中心的統一...

PHP 的Cookie跨域使用實現

cookie真是乙個偉大的發明,它允許web開發者保留他們的使用者的登入狀態。然而,當你的站點或網路 有乙個以上的網域名稱時就會出現問題了。在cookie規範上說,乙個cookie只能用於乙個網域名稱,不能夠發給其它的網域名稱。因此,如果在瀏覽器中對乙個網域名稱設定了乙個cookie,這個cooki...