定義:
傳統(tǒng)的單站點登錄訪問授權機制是:登錄成功后將用戶信息保存在session中,sessionId保存在cookie中,每次訪問需要登錄訪問的資源(url)時判斷當前session是否為空,為空的話跳轉到登錄界面登錄,不為空的話允許訪問。
單點登錄是一種多站點共享登錄訪問授權機制,訪問用戶只需要在一個站點登錄就可以訪問其它站點需要登錄訪問的資源(url)。用戶在任意一個站點注銷登錄,則其它站點的登錄狀態(tài)也被注銷。簡而言之就是:一處登錄,處處登錄。一處注銷,處處注銷。
應用場景:
當一個網(wǎng)站系統(tǒng)稍微復雜一些的時候,需要對業(yè)務進行拆分,比如一個電商網(wǎng)站,可以將商品搜索、商品詳情、購物車、訂單等拆分成一個個子系統(tǒng),。當一個系統(tǒng)拆分成多個子系統(tǒng)的時候就需要單點登錄來做授權了。
業(yè)務需求:
最近公司因為業(yè)務需要開發(fā)了一些子系統(tǒng)需要和主站進行集成,在網(wǎng)上看了好多單點登錄的教程,綜合各種情況總結出了了下面的單點登錄實現(xiàn)思路。其中用到了輪詢跳轉的思路來解決同時給多個分站寫cookie的問題。如有不妥之處歡迎各位批評指正。
實現(xiàn)功能:
1.可完全跨域
2.url透明(分站跳轉不需要url傳遞token或者ticket)
3.同步注銷
4.一次將cookie寫入到多個分站
效果預覽 :