目的:為解決現在各種服務越來越多,若不使用單點登入,則需要使用者登入每個服務,即多次登入,體驗很差。單點登入是使用者只需要登入一次,就相當於登入了所有服務。
之前以為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...