前些天被問到單點登入了,而據我當時做的這個模組兩年了,現在重新溫習並記錄下,方便以後快速回憶起來
sso全稱single sign on。sso是使用者只需要登入一次就可以訪問所有相互信任的應用系統
分布式集群的專案因為每個模組都部署在不同的機器。如果第一次在a系統登入,第二次訪問b系統,這個時候b系統並沒有儲存使用者狀態,或者第一次nginx**到a系統的機器1,在機器1登入,第二次訪問a系統,nginx**到了機器2,這些情況下都是需要重新登入。
為了解決這種情況,可以有兩種機制:單點登入、tomcat配置session複製
session複製在集群下,代價過高,可能導致系統資源消耗過多。
所以構建乙個單點登入系統,提供乙個介面,供其他模組呼叫,來檢測使用者登入狀態。實現就是使用redsi來模擬session,對session統一管理
1、首先sso系統提供登入,校驗使用者,登出等基本使用者操作
2、登入的時候將使用者資訊儲存到redis中,並設定過期時間,(key可以含有token,value為使用者資訊),請將使用者的token響應給瀏覽器cookie,並設定cookie的domain(domain用來設定域,方便子網域名稱系統能把cookie攜帶過來)
3、登入校驗:最好寫成乙個過濾器,使用者每次請求當前domain設定的網域名稱及其子網域名稱的時候,會攜帶使用者cookie,過濾器從cookie裡取token,去redis裡查詢使用者資訊,查到就放行,未查到就跳轉到登入頁面
4、登出:使用者發起登出請求,登出介面獲取到cookie中的使用者的token,然後進行快取請求,並清空cookie
單點登入SSO系統
什麼是sso系統 sso,英文全稱是single sign on,即單點登入。sso是指在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。它是目前比較流行的企業業務整合的解決方案之一。為什麼要用sso 傳統的登入實現方式 此方式在只有乙個web工程時沒有問題。集群環境 sess...
單點登入 sso系統
sso英文全稱 single sign on 單點登入。sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登入對映到其他應用中用於同乙個使用者的登入的機制。它是目前比較流行的企業業務整合的解決方案之一。此方式在只有乙個web工程時是沒有問題。集群環...
單點登入系統 SSO 總結
其實就是統一使用者管理平台,如今各種系統數不勝數,這就難免需要使用者名稱和密碼登入,但是賬戶越多越容易忘記,而且每次訪問需要登入還很麻煩,所以單點登入系統應運而生,這也是我上班的第乙個任務 利用公司現有的sso伺服器來配置客戶端開發使用者登入介面從而和別的公司對接。起初我還以為是做外包的,認為i很簡...