sso認證中心發現使用者未登入,將使用者引導至登入頁面
使用者輸入使用者名稱密碼提交登入申請
sso認證中心校驗使用者資訊,建立使用者與sso認證中心之間的會話,稱為全域性會話,同時建立授權令牌
sso認證中心帶著令牌跳轉會最初的請求位址(系統1)
系統1拿到令牌,去sso認證中心校驗令牌是否有效
sso認證中心校驗令牌,返回有效,註冊系統1
系統1使用該令牌建立與使用者的會話,稱為區域性會話,返回受保護資源
使用者訪問系統2的受保護資源
系統2發現使用者未登入,跳轉至sso認證中心,並將自己的位址作為引數
sso認證中心發現使用者已登入,跳轉回系統2的位址,並附上令牌
系統2拿到令牌,去sso認證中心校驗令牌是否有效
sso認證中心校驗令牌,返回有效,註冊系統2
系統2使用該令牌建立與使用者的區域性會話,返回受保護資源
全域性會話存在,區域性會話不一定存在
全域性會話銷毀,區域性會話必須銷毀
系統1根據使用者與系統1建立的會話id拿到令牌,向sso認證中心發起登出請求
sso認證中心校驗令牌有效,銷毀全域性會話,同時取出所有用此令牌註冊的系統位址
sso認證中心向所有註冊系統發起登出請求
各註冊系統接收sso認證中心的登出請求,銷毀區域性會話
sso認證中心引導使用者至登入頁面
接收並儲存sso認證中心傳送的令牌
與sso-server通訊,校驗令牌的有效性
建立區域性會話
攔截使用者登出請求,向sso認證中心傳送登出請求
接收sso認證中心發出的登出請求,銷毀區域性會話
建立全域性會話
建立授權令牌
與sso-client通訊傳送令牌
校驗sso-client令牌有效性
系統註冊
接收sso-client登出請求,登出所有會話
publicvoid
dofilter
(servletrequest request, servletresponse response, filterchain chain)
throws ioexception, servletexception
//跳轉至sso認證中心
// 請求附帶token引數原文發布時間為:2018-09-18
」。
單點登入原理與簡單實現
應該是原汁原味的原文 一 假設有三個系統,分別是a.com b.com和sso.com,各自代表a系統,b系統和認證中心 疑問 若a.com系統已登入,當使用者進入b系統時,跳轉到sso後是怎麼判斷使用者已經登入的 1 在a.com系統在sso.com登入認證後 登入時是跳到sso.com登入的,因...
sso單點登入原理與簡單實現
原理如下 使用者訪問系統1的受保護資源,系統1發現使用者未登入,跳轉至sso認證中心,並將自己的位址作為引數 sso認證中心發現使用者未登入,將使用者引導至登入頁面 使用者輸入使用者名稱密碼提交登入申請 sso認證中心校驗使用者資訊,建立使用者與sso認證中心之間的會話,稱為全域性會話,同時建立授權...
cas實現單點登入原理
基於cookie的單點登入核心原理 將使用者名稱密碼加密之後存於cookie中,之後訪問 時在過濾器 filter 中校驗使用者許可權,如果沒有許可權則從cookie中取出使用者名稱密碼進行登入,讓使用者從某種意義上覺得只登入了一次。該方式缺點就是多次傳送使用者名稱密碼,增加被盜風險,以及不能跨域。...