single-sign-on即單點登入,
從乙個頁面登入,就可以訪問其他互信系統,避免使用者重新登入
,。在整個業務服務群中起到了輔助、整合的作用
。客戶端呼叫模組
認證中心
認證中心
是sso系統的核心,它
先驗證使用者是否有許可權訪問系統,如果有
讓使用者訪問系統資源;
如果沒有,提供乙個登入頁面。
使用者管理系統和使用者資料獲取介面
用於為認證中心提供使用者驗證資料支援
令牌 token
使用者驗證期間,生成token,儲存,如果使用者再次登入其他授信系統,則直接驗證token資訊是否正確以確定使用者是否進入資源訪問,無需第二次重複登入。
整體流程:客戶端呼叫應用系統,通過同一的認證中心進行資訊驗證,認證中心通過訪問資料庫介面,進行使用者資訊核對,生成token允許使用者訪問應用系統資源。
獲取唯一標識token
驗證該標識是否存在且有效,若不存在,或者token無效,均重定向到指定登入頁,生成token;
再次驗證,判斷使用者是否進入系統
sso系統的必要模組
例如建立乙個user表及其對應實體,ssoserver **演示,建立服務端loginservlet,用於獲取request使用者資訊、認證使用者、生成token操作
sso客戶端模組filter
[html]view plain
copy
public class ssofilter implements filter
// token 不存在,跳轉到ssoserver使用者登入頁
if (token
== null) else else
} request.setattribute("user", user);
chain.dofilter(request, response);
} }
}
客戶端呼叫模組:直接在客戶端的web.xml中配置上面ssoclient的filter,對所有的jsp頁面進行攔截;而ssoclient通過從cookie獲取伺服器寫入的token進行認證;並保留生成的token資訊,實現單點登入。
[html]view plain
copy
<
filter
>
<
filter-name
>
ssofilter-name
>
<
filter-class
>
demo.sso.client.ssofilter
filter-class
>
filter
>
<
>
<
filter-name
>
ssofilter-name
>
<
url-pattern
>
*.jsp
url-pattern
>
>
本文介紹的是同域下單點登入的實現思路和驗證流程,接下來會對其他應用場景的sso應用進行學習,敬請期待。
同域下單點登入分析 單點登入講解(2)
本專案主要講解的是單點登入系統的原理及其實現。本章主要講解的是同域下單點登入分析。流程圖雖然看著複雜,但大家不要被嚇到啦 請大家參照著流程路,聽 細細道來 1 未登入訪問業務系統 由於沒有token,客戶端filter控制其進行登入操作,並將原始的url作為請求的引數。2 使用者執行登入操作 進入服...
單點登入SSO系統
什麼是sso系統 sso,英文全稱是single sign on,即單點登入。sso是指在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。它是目前比較流行的企業業務整合的解決方案之一。為什麼要用sso 傳統的登入實現方式 此方式在只有乙個web工程時沒有問題。集群環境 sess...
單點登入 sso系統
sso英文全稱 single sign on 單點登入。sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登入對映到其他應用中用於同乙個使用者的登入的機制。它是目前比較流行的企業業務整合的解決方案之一。此方式在只有乙個web工程時是沒有問題。集群環...