系統的講解 SSO單點登入

2022-07-20 15:57:12 字數 1473 閱讀 7912

sso 英文全稱 single sign on,單點登入。

在多個應用系統中,只需要登入一次,就可以訪問其他相互信任的應用系統。

比如:**網(www.taobao.com),天貓網(www.tmall.com),聚划算(ju.taobao.com),飛豬網(www.fliggy.com)等,這些都是阿里巴巴集團的**。在這些**中,我們在其中乙個**登入了,再訪問其他的**時,就無需再進行登入,這就是 sso 的主要用途。

使用者角度

使用者能夠做到一次登入多次使用,無需記錄多套使用者名稱和密碼,省心。

系統管理員角度

管理員只需維護好乙個統一的賬號中心就可以了,方便。

新系統開發角度

新系統開發時只需直接對接統一的賬號中心即可,簡化開發流程,省時。

流程圖流程介紹

如果沒這個介紹,看上圖肯定是懵懵的。

系統a和系統b都是前後端分離的,比如前端框架用的 react / vue / angular,都是通過 npm 編譯後獨立部署的,前後端完全通過http介面的方式進行互動,也有可能前後端專案的網域名稱都不一樣。

sso認證中心不是前後端分離的,就是前端**和後端**部署在乙個專案中。

為什麼用這兩種情況呢?

其實就是為了,在流程圖上出現這兩種情況,這樣的清楚了,後期改成任何一種就都清楚了。

試想一下:

三個系統都是前後端分離的情況,流程圖應該怎麼調整?

三個系統都不是前後端分離的情況,流程圖應該怎麼調整?

對外介面

系統a和系統b:使用者退出介面。

sso 認證中心:使用者退出介面和token驗證介面。

登入如上述流程圖一致。

系統a和系統b:使用token認證登入。

sso 認證中心:使用會話認證登入。

前後端分離專案,登入使用token進行解決,前端每次請求介面時都必須傳遞token引數。

退出上圖,表示的是從某乙個系統退出的流程圖。

退出,還可以從sso認證中心退出,然後調取各個系統的使用者退出介面。

當使用者再進行操作的時候,就會跳轉到sso的登入介面。

token 生成方式

建立全域性會話可以使用session,將session儲存到redis中。

令牌的生成可以使用jwt。

當然還可以自定義token的生成方式。

講解了什麼是sso,以及sso的用途與好處,同時根據流程圖一步步進行梳理,基本上就可以實現了。

sso與oauth的區別

談到sso很多人就想到oauth,也有談到oauth想到sso的,在這裡我簡單的說一下區別。

通俗的解釋,sso是處理乙個公司內的不同應用系統之間的登入問題,比如阿里巴巴旗下有很多應用系統,我們只需要登入乙個系統就可以實現不同系統之間的跳轉。

sso與rbac的關係

如果企業有多個管理系統,現由原來的每個系統都有乙個登入,調整為統一登入認證。

那麼每個管理系統都有許可權控制,吸取統一登入認證的經驗,我們也可以做一套統一的rbac許可權認證。

系統的講解 SSO單點登入

目錄技術實現 小結擴充套件 sso 英文全稱 single sign on,單點登入。在多個應用系統中,只需要登入一次,就可以訪問其他相互信任的應用系統。比如 網 www.taobao.com 天貓網 www.tmall.com 聚划算 ju.taobao.com 飛豬網 www.fliggy.co...

系統的講解 SSO單點登入

概念 sso 英文全稱 single sign on,單點登入。在多個應用系統中,只需要登入一次,就可以訪問其他相互信任的應用系統。比如 網 www.taobao.com 天貓網 www.tmall.com 聚划算 ju.taobao.com 飛豬網 www.fliggy.com 等,這些都是阿里巴...

單點登入系統SSO概述 單點登入講解(1)

本專案主要講解的是單點登入系統的原理及其實現。本章主要講解的是單點登入系統的概述部分。單點登入顧名思義就是從乙個系統進行登入操作,就可以訪問其他附近的系統。單點登入避免了使用者重複的登入過程,在整個核心業務中起到了乙個基層的輔助作用。關鍵步驟 當使用者對業務系統發起訪問請求的時候,我們將其攔截下來,...