定義:

傳統(tǒng)的單站點(diǎn)登錄訪問(wèn)授權(quán)機(jī)制是:登錄成功后將用戶信息保存在session中,sessionId保存在cookie中,每次訪問(wèn)需要登錄訪問(wèn)的資源(url)時(shí)判斷當(dāng)前session是否為空,為空的話跳轉(zhuǎn)到登錄界面登錄,不為空的話允許訪問(wèn)。

 單點(diǎn)登錄是一種多站點(diǎn)共享登錄訪問(wèn)授權(quán)機(jī)制,訪問(wèn)用戶只需要在一個(gè)站點(diǎn)登錄就可以訪問(wèn)其它站點(diǎn)需要登錄訪問(wèn)的資源(url)。用戶在任意一個(gè)站點(diǎn)注銷(xiāo)登錄,則其它站點(diǎn)的登錄狀態(tài)也被注銷(xiāo)。簡(jiǎn)而言之就是:一處登錄,處處登錄。一處注銷(xiāo),處處注銷(xiāo)。

應(yīng)用場(chǎng)景:

當(dāng)一個(gè)網(wǎng)站系統(tǒng)稍微復(fù)雜一些的時(shí)候,需要對(duì)業(yè)務(wù)進(jìn)行拆分,比如一個(gè)電商網(wǎng)站,可以將商品搜索、商品詳情、購(gòu)物車(chē)、訂單等拆分成一個(gè)個(gè)子系統(tǒng),。當(dāng)一個(gè)系統(tǒng)拆分成多個(gè)子系統(tǒng)的時(shí)候就需要單點(diǎn)登錄來(lái)做授權(quán)了。

業(yè)務(wù)需求:

最近公司因?yàn)闃I(yè)務(wù)需要開(kāi)發(fā)了一些子系統(tǒng)需要和主站進(jìn)行集成,在網(wǎng)上看了好多單點(diǎn)登錄的教程,綜合各種情況總結(jié)出了了下面的單點(diǎn)登錄實(shí)現(xiàn)思路。其中用到了輪詢跳轉(zhuǎn)的思路來(lái)解決同時(shí)給多個(gè)分站寫(xiě)cookie的問(wèn)題。如有不妥之處歡迎各位批評(píng)指正。 

實(shí)現(xiàn)功能:

1.可完全跨域

2.url透明(分站跳轉(zhuǎn)不需要url傳遞token或者ticket)

3.同步注銷(xiāo)

4.一次將cookie寫(xiě)入到多個(gè)分站 

效果預(yù)覽 :

網(wǎng)友評(píng)論