單點登入邏輯簡單梳理

2021-09-29 22:18:06 字數 504 閱讀 3671

目的:為解決現在各種服務越來越多,若不使用單點登入,則需要使用者登入每個服務,即多次登入,體驗很差。單點登入是使用者只需要登入一次,就相當於登入了所有服務。

之前以為cas + uim、cas + shiro、 jwt等都是實現單點登入的常見組合。後來發現,cas是**認證服務,負責使用者管理,為單點登入服務。

而uim和shiro是使用者許可權控制的服務。因此若不需要許可權控制,只要單點登入,則只需要cas。

jwt是oauth2規範的簡單實現,是一種token的生成方式。

大概流程:

使用者 —> 前端輸入賬號密碼,登陸 —> 前端發給後端 —> 後端去處理登入資訊(儲存登入資訊、生成token之類的),從cas中取出需要的資訊 —> 後端去各服務中獲取使用者需要的資訊 —> 返回給前端 —> 前端呈現展示給使用者

就是使用者的一次登入,後端整合了所有服務的資訊然後返回給前端,展現給使用者。

對於使用者來說只登入了一次,後端相當於做了之前客戶登入各服務的操作。

所以這種授權登入也是單點登入

CAS單點登入流程梳理

新的專案中,需要對接單點登入,於是了解了一下cas的登入流程。按照流程圖,前端需要在初次進頁面的時候,請求伺服器獲取鑑權。服務端發現這個使用者沒有相關憑證的時候,可以返回相應的狀態碼告知前端需要登入。前端跳轉到https cas login?service http 進行登入。登入完成之後,cas會...

單點登入系統簡單實現

最近要做單點登入系統,網上參考了一下,就是得整個授權服務,其他需要進行單點登入的應用的授權,登出都通過該授權服務來決定,然後就是一處登入,處處登入 一次登出,處處登出。簡單說明實現原理 2.譬如現有驗證應用a,需要進行單點登入的系統s1,s2。現在s1需要進行登入驗證,首先會考慮s1本身的身份驗證,...

小記 簡單單點登入

單點登入,又叫sso single sign on 在一些cms或者oa中比較常用到這種登入模式,目的是為防止重複登入。而其實現原理也頗為簡單,只要cache的形式就可以實現,這裡只用於簡單記錄下,呵呵 如下 單點登入 single sign on public void ssomethods st...