單點登陸 單點登陸設計

2021-10-14 19:33:53 字數 1770 閱讀 9490

1單點登入基本流程場景1: 使用者未登入情況下訪問受限資源:

例如: 使用者在站點a 登入成功了,這時候使用者再去訪問站點 下的受限資源。/private/a.do

由於使用者在站點a登入了,那麼在 .***x.com 域下一定存在authid的cookie,並且redis中一定儲存了使用者的登入資訊。當使用者訪問web應用b的受限資源時,web應用b的authenticationfilter能夠讀取到.***x.com域下的authid的cookie,並可以從redis獲取到使用者登入資訊,因此authenticationfilter判斷該使用者已經登入,放行本次訪問。場景3:使用者在訪問站點a時登入成功,這時候使用者再去訪問與站點a不同域下的站點c。

2.若驗證成功,則在域下寫cookie(tgc)並重定向到到service指定位址,完成應用server終端儲存該cookie,並設定重定向;

端登入憑證的校驗和登入狀態的建立(包括寫應用server端redis和寫客戶端cookie值authid)。若登入憑證終端儲存該cookie;

請求中完成應用server端需要做的初始化操作。若登入憑證校驗失敗,則重定向到passport.***. com 應用server在targeturl指向的位址中完成使用者的初始化(custnum通過request.getremoteuser()獲取,使用者名稱在targeturl部分帶在請求上);

/ids/login登入頁面,終端應用程式應能夠探測返回的響應頭(response header),如果響應頭中包含終端判斷響應頭中是否包含passport.login.flag,並做相應處理;

passport.login.flag,則表示需要登入,終端應用需要顯示登入介面讓使用者登入。

3.若校驗失敗,則返回json串。errorcode值見附錄5.2。needverifycode值為true或false,即是否需要驗證碼。終端應用需要根據這些錯誤碼再次顯示登入介面讓使用者登入。(當errorcode為badpassword.msg1、badpassword.msg2或badpwdofnotbindingmembercard.msg1、badpwdofnotbindingmembercard.msg2時,json串中會包含密碼輸錯剩餘次數"remaintimes":數字)終端根據返回的errorcode做相應處理;

使用者登入後,長時間不操作狀態過期,繼續訪問受限資源

1.訪問受限資源,***判斷出無該使用者登入狀態,將該請求重定向到/ids/login位址,並帶上域下的cookie值(tgc)。若passport server端使用者狀態未過期,則重複「一、打終端設定重定向,設定cookie;

開應用直接登入」中的第二步,再次重定向到應用server端來寫狀態,然後再重定向到該受限資源的url。終端設定重定向,設定cookie;

若passport server端使用者狀態已過期,則給終端返回登陸頁面,此時終端應用程式應探測返回的響應頭(response header),如果響應頭中包含passport.login.flag,則表示需要登入,終端應用需要顯示登入介面讓終端判斷響應頭中是否包含passport.login.flag,並做相應處理;

使用者登入。

登出步驟

1. 請求passport.***.com/ids/logout?…值(tgc),則在passport的server端完成使用者登陸狀態的清除,並重定向終端設定重定向,設定cookie;

到應用的server端來進行應用的logout邏輯(若不需要此步,則可以不用帶上service引數,並且終端不處理本次響應)。

SSO 單點登陸

1.單點登陸概述 單點登入 single sign on 簡稱為 sso,是目前比較流行的企業業務整合的解決方案之一。sso的定義是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。很早期的公司,一家公司可能只有乙個server,慢慢的server開始變多了。每個server都...

單點登陸問題

單點登入 單點登入 sso,single sign on 是一種方便使用者訪問多個系統的技術,使用者只需在登入時進行一次註冊,就可以在多個系統間自由穿梭,不必重複輸入使用者名稱和密碼來確定身份。單點登入的實質就是安全上下文 security context 或憑證 credential 在多個應用系...

CAS單點登陸

1 主要是兩個應用server和client 2 server一般單獨部署。client跟應用一起,通過filter的方式監控,保護受保護的資源 3 流程 客戶端先傳送請求受保護的資源 需要登陸才能獲取到的東西 發現沒有登陸 http請求中沒有service ticket,一般登陸成功後會返回這個s...