一種單點登錄方法及系統的制作方法
【專利摘要】本發明公開了一種單點登錄方法及系統,其中,單點登錄方法包括:業務系統接收到未在所述業務系統登錄的用戶的業務訪問后,所述業務系統通過所述用戶的用戶瀏覽器向單點登錄認證中心獲取該用戶的登錄信息,如果獲取到,則所述業務系統利用所述登錄信息自動完成所述用戶的登錄處理,通知所述用戶瀏覽器顯示登錄后的頁面。本發明提供的方法和系統對于無認證信息攜帶訪問業務系統的場景,使業務系統具有主動查詢用戶登錄信息的功能,實現了在該場景下的單點登錄,更加符合用戶的互聯網業務使用習慣,完善了單點登錄機制。
【專利說明】一種單點登錄方法及系統
【技術領域】
[0001] 本發明涉及通信領域,具體涉及一種單點登錄方法及系統。
【背景技術】
[0002] 單點登錄(Single Sign 0η,簡稱為SS0),是指在多個應用系統中,用戶只需要登 錄一次就可以訪問所有相互信任的應用系統。
[0003] 現有的單點登錄技術中,對瀏覽器/服務器(Browser/Server,簡稱B/S)架構的應 用系統,主要通過票據傳遞方式實現單點登錄,類似于旅游景點的"通票"形式,游客一次購 票即可進入多個獨立的景點。票據傳遞方式單點登錄的流程具體為:
[0004] (1)當用戶第一次訪問一個B/S應用系統時,被引導到認證系統中進行登錄;
[0005] (2)根據用戶提供的登錄信息,認證系統進行身份校驗,通過校驗的用戶得到一個 "認證憑據"(如票據信息),該票據信息可以作為用戶通過校驗的憑據;
[0006] (3)當用戶訪問另一個B/S應用系統時,該系統接到請求后,會把用戶出示的票據 信息發送到認證系統進行校驗,認證該票據信息的合法性;如果通過校驗,用戶不用再次登 錄就可以訪問該B/S應用系統。
[0007] 目前,現有技術主要是對有認證信息攜帶時訪問業務系統的場景進行規范,即通 過用戶攜帶的票據信息就可以在多個應用系統中登錄。例如,用戶已登錄業務系統A(業務 系統A已獲取用戶信息),點擊業務系統A上嵌入的業務系統B鏈接,進行訪問(業務系統 B可通過單點登錄機制,獲取業務系統A傳遞過來的用戶信息)。而對于無認證信息攜帶時 訪問業務系統的場景,比如:
[0008] (1)用戶未在其他業務系統登錄,直接在瀏覽器輸入業務系統A網址,進行訪問 (業務系統A在用戶登錄前,無法獲知用戶信息);
[0009] (2)用戶已登錄業務系統A,直接在瀏覽器輸入業務系統B網址,進行訪問(該場 景下,用戶并非由業務系統A跳轉過來,因此,業務系統B無法獲知用戶信息);
[0010] (3)用戶未在其他業務系統登錄,用戶訪問業務系統A,未在業務系統A登錄時,點 擊業務系統A上嵌入的業務系統B鏈接,進行訪問(由于用戶未登錄,業務系統A、B均無法 獲知用戶信息)。
[0011] 現有技術中,對于上述3種場景,業務系統在本地查詢到沒有用戶相關信息時,就 根據用戶的主動行為,向用戶展示相應瀏覽頁面,而不會主動地向認證中心請求獲取用戶 的登錄信息,從而無法判斷是否可以進行單點登錄,事實上,對于第二種情況,是可以進行 單點登錄的,所以,目前,對于上述"無認證信息攜帶"的場景下,業界還沒有較為成熟的單 點登錄解決方案。
【發明內容】
[0012] 本發明需要解決的技術問題是提供一種單點登錄方法及系統,實現在無認證信息 攜帶訪問業務系統的場景下的單點登錄。
[0013] 為了解決上述技術問題,本發明提供了一種單點登錄方法,包括:
[0014] 業務系統接收到未在所述業務系統登錄的用戶的業務訪問后,所述業務系統通過 所述用戶的用戶瀏覽器向單點登錄認證中心獲取該用戶的登錄信息,如果獲取到,則所述 業務系統利用所述登錄信息自動完成所述用戶的登錄處理,通知所述用戶瀏覽器顯示登錄 后的頁面。
[0015] 進一步地,所述業務系統通過所述用戶的用戶瀏覽器向單點登錄認證中心獲取所 述用戶的登錄信息,包括:
[0016] 所述業務系統向所述用戶的用戶瀏覽器發送獲取所述用戶的登錄信息的指令,所 述指令中攜帶有所述業務系統的重定向地址;
[0017] 所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的請求, 所述請求中攜帶有所述用戶的全局會話ID和所述業務系統的重定向地址;
[0018] 所述單點登錄認證中心判斷是否存在與所述用戶的全局會話ID對應的全局會 話,如果存在,則根據與所述用戶的全局會話ID對應的全局會話的會話信息,將所述用戶 的登錄信息通過所述用戶瀏覽器重定向給所述業務系統,重定向地址為所述業務系統的重 定向地址,所述會話信息包括所述用戶的登錄信息。
[0019] 進一步地,所述方法還包括:
[0020] 所述業務系統通過所述用戶的用戶瀏覽器向單點登錄認證中心獲取所述用戶的 登錄信息,包括:
[0021] 所述業務系統向所述用戶的用戶瀏覽器發送獲取所述用戶的登錄信息的指令,所 述指令中攜帶有所述業務系統的重定向地址;
[0022] 所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的請求, 所述請求中僅攜帶有所述業務系統的重定向地址;
[0023] 所述單點登錄認證中心當判斷所述請求中未攜帶用戶的全局會話ID時,則所述 單點登錄認證中心將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重定向給所述業 務系統,重定向地址為所述業務系統的重定向地址;
[0024] 所述方法還包括:如果沒有獲取到,則所述業務系統根據所述獲取用戶登錄信息 失敗的結果向所述用戶瀏覽器發出返回到用戶當前瀏覽頁面的指令;所述用戶瀏覽器顯示 當前瀏覽頁面。
[0025] 進一步地,在所述業務系統通過所述用戶瀏覽器向單點登錄認證中心獲取所述用 戶的登錄信息之前,所述方法還包括:
[0026] 在所述用戶首次登錄單點登錄系統內的某個業務系統時,所述某個業務系統通過 所述用戶瀏覽器請求所述單點登錄認證中心存儲所述用戶在該業務系統登錄時的登錄信 肩、。
[0027] 進一步地,所述某個業務系統通過所述用戶瀏覽器請求所述單點登錄認證中心存 儲所述用戶在該業務系統登錄時的登錄信息,包括:
[0028] 所述某個業務系統在通過所述用戶的登錄認證時,向所述用戶瀏覽器發送存儲所 述用戶在該業務系統登錄時的登錄信息的指令,所述指令中攜帶有所述某個業務系統的重 定向地址和業務系統標識;
[0029] 所述用戶瀏覽器向所述單點登錄認證中心發送存儲所述用戶在該業務系統登錄 時的登錄信息的請求,所述請求中攜帶有所述某個業務系統的重定向地址、業務系統標識 以及所述用戶通過登錄認證時的登錄信息;
[0030] 所述單點登錄認證中心收到所述請求后,生成所述用戶在該業務系統登錄時的全 局會話,并為該用戶在單點登錄認證中心的本次登錄行為配置全局會話ID,在所述全局會 話的會話信息中保存所述某個業務系統的業務系統標識和所述用戶在該業務系統登錄時 的登錄信息,并將所述全局會話ID返回至所述用戶瀏覽器,并通過所述用戶瀏覽器重定向 給所述某個業務系統,重定向地址為所述某個業務系統的重定向地址。
[0031] 為了解決上述技術問題,本發明還提供了一種單點登錄系統,包括:
[0032] 業務系統,用于在接收到未在所述業務系統登錄的用戶的業務訪問后,向用戶瀏 覽器發送獲取所述用戶的登錄信息的指令,通過所述用戶的用戶瀏覽器向單點登錄認證中 心獲取所述用戶的登錄信息,如果獲取到,則利用所述登錄信息自動完成所述用戶的登錄 處理,并通知所述用戶瀏覽器顯示登錄后的頁面;
[0033] 用戶瀏覽器,用于在接收到所述業務系統獲取用戶的登錄信息的指令后,向單點 登錄認證中心發送獲取所述用戶的登錄信息的請求,并將所述單點登錄認證中心返回的所 述用戶的登錄信息傳遞至所述業務系統,在收到所述業務系統通知后顯示登錄后的頁面; [0034] 單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,在本地查詢所述用 戶的登錄信息,若查詢到,則將查詢到的所述用戶的登錄信息通過所述用戶瀏覽器返回給 所述業務系統。
[0035] 進一步地,所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統 的重定向地址;
[0036] 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中攜帶有所述用戶的全局會話 ID和所述業務系統的重定向地址;
[0037] 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,在本地查詢所 述用戶的登錄信息,若查詢到,將查詢到的所述用戶的登錄信息通過所述用戶瀏覽器返回 給所述業務系統,包括:
[0038] 所述單點登錄認證中心,用于判斷是否存在與所述用戶的全局會話ID對應的全 局會話,如果存在,則根據與所述用戶的全局會話ID對應的全局會話的會話信息,將所述 用戶的登錄信息通過所述用戶瀏覽器重定向給所述業務系統,重定向地址為所述業務系統 的重定向地址,所述會話信息包括所述用戶的登錄信息。
[0039] 進一步地,所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統 的重定向地址;
[0040] 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中僅攜帶有所述業務系統的重 定向地址;
[0041] 所述單點登錄認證中心,還用于當判斷所述請求中未攜帶用戶的全局會話ID時, 查詢不到所述用戶的登錄信息,則將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重 定向給所述業務系統,重定向地址為所述業務系統的重定向地址;
[0042] 所述用戶瀏覽器,還用于將所述單點登錄認證中心返回的獲取用戶登錄信息失敗 的結果重定向給所述業務系統,并在接收到所述業務系統發出的返回到用戶當前瀏覽頁面 的指令后,顯示當前瀏覽頁面;
[0043] 所述業務系統,還用于根據所述獲取用戶登錄信息失敗的結果向所述用戶瀏覽器 發出返回到相應瀏覽頁面的指令。
[0044] 進一步地,還包括用戶首次登錄的單點登錄系統內的某個業務系統;其中:
[0045] 所述用戶首次登錄的單點登錄系統內的某個業務系統,用于在通過所述用戶的登 錄認證時,向所述用戶瀏覽器發送存儲所述用戶在該業務系統登錄時的登錄信息的指令, 通過所述用戶瀏覽器請求所述單點登錄認證中心存儲所述用戶在該業務系統登錄時的登 錄?目息;
[0046] 所述用戶瀏覽器,還用于在接收到所述某個業務系統請求存儲所述用戶在該業務 系統登錄時的登錄信息的指令后,向所述單點登錄認證中心發送存儲所述用戶在該業務系 統登錄時的登錄信息的請求;
[0047] 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,將所述用戶在 該業務系統登錄時的登錄信息進行存儲。
[0048] 進一步地,所述某個業務系統存儲所述用戶在該業務系統登錄時的登錄信息的指 令中攜帶有所述單點登錄系統內某個業務系統的重定向地址和業務系統標識;
[0049] 所述用戶瀏覽器存儲所述用戶在該業務系統登錄時的登錄信息的請求中攜帶有 所述某個業務系統的重定向地址、業務系統標識以及所述用戶在該業務系統登錄時的登錄 信息;
[0050] 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,將所述用戶在 該業務系統登錄時的登錄信息進行存儲,包括:
[0051] 所述單點登錄認證中心收到所述請求后,生成所述用戶在該業務系統登錄時的全 局會話,并為該用戶在單點登錄認證中心的本次登錄行為配置全局會話ID,在所述全局會 話的會話信息中保存所述某個業務系統的業務系統標識和所述用戶在該業務系統登錄時 的登錄信息,并將所述全局會話ID返回至所述用戶瀏覽器,并通過所述用戶瀏覽器重定向 給所述某個業務系統,重定向地址為所述某個業務系統的重定向地址;
[0052] 所述用戶瀏覽器,還用于在接收并保存所述單點登錄認證中心返回的所述用戶的 全局會話ID,并傳遞給所述某個業務系統。
[0053] 與現有技術相比,本發明提供的單點登錄方法及系統,對于無認證信息攜帶訪問 業務系統的場景,使業務系統具有主動查詢用戶登錄信息的功能,實現了在該場景下的單 點登錄,更加符合用戶的互聯網業務使用習慣,完善了單點登錄機制。
【專利附圖】
【附圖說明】
[0054] 圖1是實施例中單點登錄方法的流程圖;
[0055] 圖2是一個應用示例中對于場景(1)的單點登錄方法的流程圖;
[0056] 圖3是一個應用示例中對于場景(2)的單點登錄方法的流程圖;
[0057] 圖4是實施例中單點登錄系統的結構圖。
【具體實施方式】
[0058] 為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明 的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中 的特征可以相互任意組合。
[0059] 實施例:
[0060] 本實施例的應用場景是用戶無認證信息攜帶瀏覽業務系統場景下的單點登錄,如 圖1所示,本實施例提供了一種單點登錄方法,包括以下步驟:
[0061] S101 :業務系統接收到未在所述業務系統登錄的用戶的業務訪問;
[0062] 其中,未在所述業務系統登錄的用戶表示該用戶只是未在本業務系統登錄,有可 能已經在屬于單點登錄體系的其他業務系統中登錄;業務系統判斷該用戶是否在本業務系 統登錄是通過判斷是否存在本地會話ID,如果不存在,就說明用戶未登錄所述業務系統;
[0063] 對于場景(1),用戶未在其他業務系統登錄,直接在瀏覽器輸入業務系統A網址, 進行訪問,該場景下,用戶在其他業務系統和業務系統A均未登錄;
[0064] 對于場景(2),用戶已登錄業務系統A,直接在瀏覽器輸入業務系統B網址,進行訪 問,該場景下,用戶并非由業務系統A跳轉過來,因此,業務系統B無法獲知用戶信息,用戶 未在業務系統B登錄;
[0065] 對于場景(3),用戶未在其他業務系統登錄,用戶訪問業務系統A,未在業務系統A 登錄時,點擊業務系統A上嵌入的業務系統B鏈接,進行訪問,用戶在其他業務系統和業務 系統A、B上均未登錄。
[0066] S102:業務系統接收到所述用戶的業務訪問后,通過所述用戶的用戶瀏覽器向單 點登錄認證中心獲取所述用戶的登錄信息;登錄信息包括該用戶的賬戶名以及登錄密碼; [0067] S103:如果獲取到,則利用所述登錄信息自動完成所述用戶的登錄處理,通知所述 用戶瀏覽器顯示登錄后的頁面。
[0068] 其中,在步驟S102中,對應于場景(2),用戶已登錄其他業務系統,直接在瀏覽器 輸入所述業務系統的網址,進行訪問,對于這種場景:所述業務系統通過所述用戶的用戶瀏 覽器向單點登錄認證中心獲取所述用戶的登錄信息,具體包括:
[0069] 1)所述業務系統向所述用戶的用戶瀏覽器發送獲取所述用戶的登錄信息的指令, 所述指令中攜帶有所述業務系統的重定向地址;
[0070] 2)所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的請 求,所述請求中攜帶有標識所述用戶的全局會話ID和所述業務系統的重定向地址;
[0071] 其中,全局會話ID是用來標識用戶在其他業務系統曾經登錄過,單點登錄認證中 心通過全局會話ID來識別該用戶,如果用戶在單點登錄系統內的某個業務系統首次登錄, 則單點登錄認證中心生成全局會話,并把全局會話ID通過瀏覽器告訴首次登錄的業務系 統,這時,該全局會話(含全局會話ID)就保存在瀏覽器安裝在電腦本地的文件中了(這是 瀏覽器保存會話的基本機制,是瀏覽器的屬性)。
[0072] 在用戶訪問其他系統后,其他業務系統通過該瀏覽器向單點登錄認證中心發起請 求用戶信息的請求,瀏覽器在發現請求指向單點登錄認證中心后,會自動查詢本地保存的 全局會話(含ID),將查詢到的全局會話ID攜帶在請求中,發給單點登錄認證中心,這時單 點登錄認證中心就可以判定用戶了。
[0073] 3)所述單點登錄認證中心判斷是否存在與所述用戶的全局會話ID對應的全局會 話,如果存在,則根據與所述用戶的全局會話ID對應的全局會話,將所述用戶的登錄信息 通過所述用戶瀏覽器重定向給所述業務系統,重定向地址為所述業務系統的重定向地址, 所述會話信息包括所述用戶的登錄信息。
[0074] 此外,在步驟1)中所述業務系統發送的指令中還攜帶有業務系統的標識,在步驟 2)中由瀏覽器將該業務系統標識攜帶在請求中發送給單點登錄認證中心,單點登錄認證中 心用于對攜帶有業務系統標識的請求進行認證鑒權,即判斷是哪個系統發來的請求。
[0075] 在單點登錄過程中,如果用戶在其他業務系統已登錄,則用戶瀏覽器與業務系統 之間默認均指向該用戶,也就是說,在單點登錄的標準體制中,是不能存在兩個用戶同時在 一個瀏覽器中訪問網站的。比如,用戶A訪問過的業務系統都是A為登錄狀態,如果此時換 成用戶B的賬號進行登錄,則需要退出A的登錄賬號,則A的登錄信息過期,此時A的全局會 話也失效。所以在單點登錄體系中,不同的用戶是不可能同時在一個瀏覽器中處于登錄狀 態,也就是說,一個瀏覽器的本次文件下,有效的全局會話只能有一個,在單點登錄過程中, 單點登錄體系內的業務系統和瀏覽器只識別一個用戶。
[0076] 此外,對于場景(1)和(3),用戶未在其他業務系統登錄,直接在瀏覽器輸入所述 業務系統的網址,進行訪問,以及,用戶未在其他業務系統登錄,用戶訪問業務系統A,未在 業務系統A登錄時,點擊業務系統A上嵌入的所述業務系統的鏈接,進行訪問,對于這兩種 場景,所述業務系統還存在沒有從單點登錄認證中心獲取所述用戶的登錄信息的情況;
[0077] 所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統的重定向 地址;
[0078] 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中僅攜帶有所述業務系統的重 定向地址;
[0079] 所述方法還包括:
[0080] 所述單點登錄認證中心判斷出所述請求中未攜帶用戶的全局會話ID時,則所述 單點登錄認證中心將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重定向給所述業 務系統,重定向地址為所述業務系統的重定向地址ULR ;
[0081] 所述請求中未攜帶用戶的全局會話ID說明該用戶在登錄所述業務系統之前并沒 有在單點登錄體系內的其他業務系統登錄,因此,單點登錄認證中心中沒有為該用戶建立 全局會話的記錄,所以也沒有為該用戶分配全局會話ID,也就不會存儲該用戶的登錄信息。 [0082] 所述業務系統根據所述獲取用戶登錄信息失敗的結果向所述用戶瀏覽器發出返 回到用戶當前瀏覽頁面的指令;所述用戶瀏覽器顯示當前瀏覽頁面。
[0083] 此外,對于場景(2),用戶在單點登錄系統內首次登錄時,在某個業務系統登錄,單 點登錄認證中心會將登錄信息保存下來,以便用戶在所述業務系統登錄可以獲取到該用戶 的登錄信息,因此,在所述業務系統通過所述用戶瀏覽器向單點登錄認證中心獲取所述用 戶的登錄信息之前,所述方法還包括:單點登錄系統內某個業務系統通過所述用戶瀏覽器 請求單點登錄認證中心存儲所述用戶在該業務系統登錄時的登錄信息;
[0084] 具體包括:
[0085] 1)所述某個業務系統在通過所述用戶的登錄認證時,所述某個業務系統向所述用 戶瀏覽器發送存儲所述用戶在通過登錄認證時的登錄信息的指令,所述指令中攜帶有所述 某個業務系統的重定向地址和業務系統標識;
[0086] 2)所述用戶瀏覽器向所述單點登錄認證中心發送存儲所述用戶通過登錄認證時 的登錄信息的請求,所述請求中攜帶有所述某個業務系統的重定向地址、業務系統標識以 及所述用戶通過登錄認證時的登錄信息;
[0087] 3)所述單點登錄認證中心收到所述請求后,生成所述用戶通過登錄認證時的本次 登錄的全局會話,并為該用戶在單點登錄認證中心的本次登錄行為配置全局會話ID,在所 述全局會話的會話信息中保存所述某個業務系統的業務系統標識和所述用戶通過登錄認 證時的登錄信息,并將所述用戶通過登錄認證時的本次登錄的全局會話ID返回至所述用 戶瀏覽器,并將登錄信息已存儲的處理結果通過所述用戶瀏覽器重定向給所述某個業務系 統,重定向地址為所述某個業務系統的重定向地址。
[0088] 在單點登錄體系中,只有用戶首次登錄所在的業務系統負責存儲登錄信息,其他 業務系統都是去單點登錄認證中心查詢,不再存儲。
[0089] 在一個應用示例中,對于應用場景(1)提供了一種單點登錄方法,如圖2所示,包 括以下步驟:
[0090] S201 :用戶通過瀏覽器訪問業務系統A ;
[0091] S202:業務系統A接收到該用戶的業務訪問請求,業務系統A判斷無本地會話,即 未登錄業務系統A ;
[0092] 如果用戶之前在業務系統A登錄后,業務系統A會在本地創建本地會話,并分配本 地會話ID,同時返回給用戶瀏覽器該業務系統A的本地會話ID ;在用戶再次訪問業務系統 A時,瀏覽器會根據業務系統A的本地會話ID,到業務系統A查詢當前用戶的登錄情況;
[0093] 如果用戶之前沒有在業務系統A登錄,則不存在本地會話ID。
[0094] S203 :業務系統A向所述用戶的用戶瀏覽器發送獲取所述用戶的登錄信息的指 令,所述指令中攜帶有業務系統A的重定向地址;
[0095] 該重定向地址是用于當所述單點登錄認證中心查詢到用戶的登錄信息后,將該用 戶的登錄信息通過用戶瀏覽器重定向至業務系統A。
[0096] S204:所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的 請求,所述請求中攜帶有所述業務系統A的重定向地址和所述業務系統A的業務標識;
[0097] 對于場景(1),由于用戶并未在其他業務系統登錄過,因此,單點登錄認證中心也 沒有為該用戶分配全局會話ID,所以,所述請求中沒有攜帶全局會話ID ;
[0098] S205 :單點登錄認證中心判斷出所述請求中未攜帶用戶的全局會話ID時,說明該 用戶并未在其他業務系統登錄過,將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重 定向給所述業務系統,重定向地址為所述業務系統的重定向地址;
[0099] S206:業務系統A根據所述獲取用戶登錄信息失敗的結果和自有業務邏輯向所述 用戶瀏覽器發出返回到用戶當前瀏覽頁面的指令,用戶瀏覽器向用戶展示相應的瀏覽頁面 或登錄頁面。
[0100] 在一個應用示例中,對于應用場景(2)提供了一種單點登錄方法,如圖3所示,包 括以下步驟:
[0101] S301 :用戶已經在業務系統A登錄;
[0102] 用戶在業務系統A登錄的時候,單點登錄認證中心會為該用戶建立全局會話ID, 并將該用戶的登錄信息保存。
[0103] S302 :用戶直接在瀏覽器輸入業務系統B的網址,訪問業務系統B ;
[0104] S303 :業務系統B根據本地會話ID判斷是否有本地會話,即是否登錄業務系統B ; 若有本地會話,則執行步驟S304,否則執行步驟S305 ;
[0105] 如果用戶之前在業務系統B登錄后,業務系統B會在本地創建本地會話,并分配本 地會話ID,同時返回給用戶瀏覽器該業務系統B的本地會話ID ;在用戶再次訪問業務系統 B時,瀏覽器會根據業務系統B的本地會話ID,到業務系統B查詢當前用戶的登錄情況;
[0106] 如果用戶之前沒有在業務系統B登錄,則不存在本地會話ID。
[0107] S304 :若有本地會話,則業務系統B向用戶瀏覽器發送向用戶呈現登錄后頁面的 指令,用戶瀏覽器向用戶呈現登錄后的頁面;
[0108] S305 :若無本地會話,則業務系統B向所述用戶的用戶瀏覽器發送獲取所述用戶 的登錄信息的指令,所述指令中攜帶有業務系統B的重定向地址;
[0109] 該重定向地址是用于當所述單點登錄認證中心查詢到用戶的登錄信息后,將該用 戶的登錄信息通過用戶瀏覽器重定向至業務系統B。
[0110] S306:所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的 請求,所述請求中攜帶有標識所述用戶的全局會話ID、所述業務系統B的重定向地址和所 述業務系統B的標識;
[0111] S307 :單點登錄認證中心判斷存在與所述用戶的全局會話ID對應的全局會話,將 所述用戶的登錄信息通過所述用戶瀏覽器重定向給業務系統B,重定向地址為業務系統B 的重定向地址,所述全局會話的會話信息包括所述用戶的登錄信息;
[0112] S308 :該業務系統B根據該用戶的登錄信息進行后續的單點登錄流程。
[0113] 單點登錄流程為現有流程,具體包括:業務系統B根據該用戶的登錄信息向單點 登錄認證中心請求認證該登錄信息,單點登錄認證中心認證成功向業務系統B返回認證成 功信息,業務系統B創建本地會話,并向瀏覽器返回登錄成功信息。
[0114] 在一個應用示例中,對于應用場景(3),用戶未在其他業務系統登錄,用戶訪問業 務系統A,未在業務系統A登錄時,會先觸發通過所述用戶的用戶瀏覽器向單點登錄認證中 心獲取該用戶的登錄信息(登錄業務系統A的登錄信息),與應用場景(1)的對應流程(如 步驟S202?S206)類似,由于用戶并未在其他業務系統登錄過,因此,單點登錄認證中心也 沒有為該用戶分配全局會話ID,所以,所述請求中沒有攜帶全局會話ID ;單點登錄認證中 心判斷出所述請求中未攜帶用戶的全局會話ID時,說明該用戶并未在其他業務系統登錄 過,將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重定向給所述業務系統A,業務系 統A根據所述獲取用戶登錄信息失敗的結果和自有業務邏輯向所述用戶瀏覽器發出返回 到用戶當前瀏覽頁面的指令,用戶瀏覽器向用戶展示相應的瀏覽頁面或登錄頁面,用戶點 擊業務系統B鏈接時,則觸發通過所述用戶的用戶瀏覽器向單點登錄認證中心獲取該用戶 的登錄信息(登錄業務系統B的登錄信息),按照應用場景(1)的對應流程(如步驟S202? S206),業務系統B根據所述獲取用戶登錄信息失敗的結果和自有業務邏輯向所述用戶瀏 覽器發出返回到用戶當前瀏覽頁面的指令,用戶瀏覽器向用戶展示相應的瀏覽頁面或登錄 頁面。
[0115] 本實施例中,場景(1)和⑶也屬于單點登錄體系中的場景,因為也存在主動向單 點登錄認證中心獲取用戶登錄信息的機制。由于用戶之前未在屬于單點登錄認證體系的任 何一個業務系統中登錄,所以向單點登錄認證中心發起的請求中不會有全局會話ID,所以 單點登錄認證中心也不存在該用戶的登錄信息。該場景下需要用戶在訪問的業務系統中主 動登錄,則該業務系統就成為用戶首次登錄的業務系統,具有向單點登錄認證中心存儲用 戶登錄信息的義務。
[0116] 如圖4所示,本實施例提供了一種單點登錄系統,包括:用戶瀏覽器、一個或多個 業務系統以及單點登錄認證中心,其中:
[0117] 業務系統,用于在接收到未在所述業務系統登錄的用戶的業務訪問后,向用戶瀏 覽器發送獲取所述用戶的登錄信息的指令,通過所述用戶的用戶瀏覽器向單點登錄認證中 心獲取所述用戶的登錄信息,如果獲取到,則利用所述登錄信息自動完成所述用戶的登錄 處理,并通知所述用戶瀏覽器顯示登錄后的頁面;
[0118] 用戶瀏覽器,用于在接收到所述業務系統獲取用戶的登錄信息的指令后,向單點 登錄認證中心發送獲取所述用戶的登錄信息的請求,并將所述單點登錄認證中心返回的所 述用戶的登錄信息傳遞至所述業務系統,在收到所述業務系統通知后顯示登錄后的頁面;
[0119] 單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,在本地查詢所述用 戶的登錄信息,若查詢到,則將查詢到的所述用戶的登錄信息通過所述用戶瀏覽器返回給 所述業務系統。
[0120] 對于場景(2),用戶已登錄其他業務系統,直接在瀏覽器輸入所述業務系統的網 址,進行訪問,對于這種場景:
[0121] 所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統的重定向 地址;
[0122] 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中攜帶有所述用戶的全局會話 ID和所述業務系統的重定向地址;
[0123] 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,在本地查詢所 述用戶的登錄信息,若查詢到,則將查詢到的所述用戶的登錄信息通過所述用戶瀏覽器返 回給所述業務系統,包括:
[0124] 所述單點登錄認證中心,用于判斷是否存在與所述用戶的全局會話ID對應的全 局會話,如果存在,則根據與所述用戶的全局會話ID對應的全局會話的會話信息,將所述 用戶的登錄信息通過所述用戶瀏覽器重定向給所述業務系統,重定向地址為所述業務系統 的重定向地址,所述會話信息包括所述用戶的登錄信息。
[0125] 此外,所述業務系統發送的指令中還攜帶有業務系統的標識,由用戶瀏覽器將該 業務系統的標識攜帶在請求中發送給單點登錄認證中心,所述單點登錄認證中心用于對攜 帶有業務系統的標識的請求進行認證鑒權,即判斷是哪個系統發來的請求。
[0126] 此外,對于場景(1)和(3),用戶未在其他業務系統登錄,直接在瀏覽器輸入所述 業務系統的網址,進行訪問,以及,用戶未在其他業務系統登錄,用戶訪問業務系統A,未在 業務系統A登錄時,點擊業務系統A上嵌入的所述業務系統的鏈接,進行訪問,對于這兩種 場景,所述業務系統還存在沒有從單點登錄認證中心獲取所述用戶的登錄信息的情況:
[0127] 所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統的重定向 地址;
[0128] 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中僅攜帶有所述業務系統的重 定向地址;
[0129] 所述單點登錄認證中心,還用于當判斷所述請求中未攜帶用戶的全局會話ID時, 查詢不到所述用戶的登錄信息,則將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重 定向給所述業務系統,重定向地址為所述業務系統的重定向地址;
[0130] 所述請求中未攜帶用戶的全局會話ID說明該用戶在登錄所述業務系統之前并沒 有在單點登錄系統的其他業務系統登錄,因此,單點登錄認證中心中沒有為該用戶建立全 局會話的記錄,所以也沒有為該用戶分配全局會話ID,也就不會存儲該用戶的登錄信息。
[0131] 所述用戶瀏覽器,還用于將所述單點登錄認證中心返回的獲取用戶登錄信息失敗 的結果重定向給所述業務系統,并在接收到所述業務系統發出的返回到用戶當前瀏覽頁面 的指令后,顯示當前瀏覽頁面;
[0132] 所述業務系統,還用于根據所述獲取用戶登錄信息失敗的結果向所述用戶瀏覽器 發出返回到相應瀏覽頁面的指令。
[0133] 此外,對于場景(2),用戶在首次登錄單點登錄系統內的某個業務系統時,該業務 系統會通過用戶瀏覽器請求單點登錄認證中心會將登錄信息保存下來,以便用戶在單點登 錄系統內的業務系統登錄可以獲取到該用戶的登錄信息,其中:
[0134] 所述用戶首次登錄的單點登錄系統內的某個業務系統,用于在通過所述用戶的登 錄認證時,向所述用戶瀏覽器發送存儲所述用戶在該業務系統登錄時的登錄信息的指令, 通過所述用戶瀏覽器請求所述單點登錄認證中心存儲所述用戶在該業務系統登錄時的登 錄?目息;
[0135] 所述用戶瀏覽器,還用于在接收到所述某個業務系統請求存儲所述用戶在該業務 系統登錄時的登錄信息的指令后,向所述單點登錄認證中心發送存儲所述用戶在該業務系 統登錄時的登錄信息的請求;
[0136] 即該用戶在瀏覽所述業務系統之前在某個業務系統登錄時,將該用戶的登錄信息 保存;
[0137] 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,將所述用戶在 該業務系統登錄時的登錄信息進行存儲。
[0138] 具體地,所述某個業務系統存儲所述用戶在該業務系統登錄時的登錄信息的指令 中攜帶有所述單點登錄系統內某個業務系統的重定向地址和業務系統標識;
[0139] 所述用戶瀏覽器存儲所述用戶在該業務系統登錄時的登錄信息的請求中攜帶有 所述某個業務系統的重定向地址、業務系統標識以及所述用戶在該業務系統登錄時的登錄 信息;
[0140] 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,將所述用戶在 該業務系統登錄時的登錄信息進行存儲,包括:
[0141] 所述單點登錄認證中心收到所述請求后,生成所述用戶在該業務系統登錄時的全 局會話,并為該用戶在單點登錄認證中心的本次登錄行為配置全局會話ID,在所述全局會 話的會話信息中保存所述某個業務系統的業務系統標識和所述用戶在該業務系統登錄時 的登錄信息,并將所述全局會話ID返回至所述用戶瀏覽器,并通過所述用戶瀏覽器重定向 給所述某個業務系統,重定向地址為所述某個業務系統的重定向地址;
[0142] 所述用戶瀏覽器,還用于在接收并保存所述單點登錄認證中心返回的所述用戶的 全局會話ID,并傳遞給所述某個業務系統。
[0143] 從上述實施例可以看出,相對于現有技術,上述實施例中提供的單點登錄方法及 系統,對于無認證信息攜帶訪問業務系統的場景,使業務系統具有主動查詢用戶登錄信息 的功能,實現了在該場景下的單點登錄,更加符合用戶的互聯網業務使用習慣,完善了單點 登錄機制。
[0144] 本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令 相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤 等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應 地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的 形式實現。本發明不限制于任何特定形式的硬件和軟件的結合。
[0145] 以上所述僅為本發明的優選實施例而已,并非用于限定本發明的保護范圍。根據 本發明的
【發明內容】
,還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉 本領域的技術人員當可根據本發明作出各種相應的改變和變形,凡在本發明的精神和原則 之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1. 一種單點登錄方法,包括: 業務系統接收到未在所述業務系統登錄的用戶的業務訪問后,所述業務系統通過所述 用戶的用戶瀏覽器向單點登錄認證中心獲取該用戶的登錄信息,如果獲取到,則所述業務 系統利用所述登錄信息自動完成所述用戶的登錄處理,通知所述用戶瀏覽器顯示登錄后的 頁面。
2. 如權利要求1所述的方法,其特征在于: 所述業務系統通過所述用戶的用戶瀏覽器向單點登錄認證中心獲取所述用戶的登錄 信息,包括: 所述業務系統向所述用戶的用戶瀏覽器發送獲取所述用戶的登錄信息的指令,所述指 令中攜帶有所述業務系統的重定向地址; 所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的請求,所述 請求中攜帶有所述用戶的全局會話ID和所述業務系統的重定向地址; 所述單點登錄認證中心判斷是否存在與所述用戶的全局會話ID對應的全局會話,如 果存在,則根據與所述用戶的全局會話ID對應的全局會話的會話信息,將所述用戶的登錄 信息通過所述用戶瀏覽器重定向給所述業務系統,重定向地址為所述業務系統的重定向地 址,所述會話信息包括所述用戶的登錄信息。
3. 如權利要求1所述的方法,其特征在于:所述方法還包括: 所述業務系統通過所述用戶的用戶瀏覽器向單點登錄認證中心獲取所述用戶的登錄 信息,包括: 所述業務系統向所述用戶的用戶瀏覽器發送獲取所述用戶的登錄信息的指令,所述指 令中攜帶有所述業務系統的重定向地址; 所述用戶瀏覽器向所述單點登錄認證中心發送獲取所述用戶的登錄信息的請求,所述 請求中僅攜帶有所述業務系統的重定向地址; 所述單點登錄認證中心當判斷所述請求中未攜帶用戶的全局會話ID時,則所述單點 登錄認證中心將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重定向給所述業務系 統,重定向地址為所述業務系統的重定向地址; 所述方法還包括:如果沒有獲取到,則所述業務系統根據所述獲取用戶登錄信息失敗 的結果向所述用戶瀏覽器發出返回到用戶當前瀏覽頁面的指令;所述用戶瀏覽器顯示當前 瀏覽頁面。
4. 如權利要求1所述的方法,其特征在于:在所述業務系統通過所述用戶瀏覽器向單 點登錄認證中心獲取所述用戶的登錄信息之前,所述方法還包括: 在所述用戶首次登錄單點登錄系統內的某個業務系統時,所述某個業務系統通過所述 用戶瀏覽器請求所述單點登錄認證中心存儲所述用戶在該業務系統登錄時的登錄信息。
5. 如權利要求4所述的方法,其特征在于: 所述某個業務系統通過所述用戶瀏覽器請求所述單點登錄認證中心存儲所述用戶在 該業務系統登錄時的登錄信息,包括: 所述某個業務系統在通過所述用戶的登錄認證時,向所述用戶瀏覽器發送存儲所述用 戶在該業務系統登錄時的登錄信息的指令,所述指令中攜帶有所述某個業務系統的重定向 地址和業務系統標識; 所述用戶瀏覽器向所述單點登錄認證中心發送存儲所述用戶在該業務系統登錄時的 登錄信息的請求,所述請求中攜帶有所述某個業務系統的重定向地址、業務系統標識以及 所述用戶通過登錄認證時的登錄信息; 所述單點登錄認證中心收到所述請求后,生成所述用戶在該業務系統登錄時的全局會 話,并為該用戶在單點登錄認證中心的本次登錄行為配置全局會話ID,在所述全局會話的 會話信息中保存所述某個業務系統的業務系統標識和所述用戶在該業務系統登錄時的登 錄信息,并將所述全局會話ID返回至所述用戶瀏覽器,并通過所述用戶瀏覽器重定向給所 述某個業務系統,重定向地址為所述某個業務系統的重定向地址。
6. -種單點登錄系統,包括: 業務系統,用于在接收到未在所述業務系統登錄的用戶的業務訪問后,向用戶瀏覽器 發送獲取所述用戶的登錄信息的指令,通過所述用戶的用戶瀏覽器向單點登錄認證中心獲 取所述用戶的登錄信息,如果獲取到,則利用所述登錄信息自動完成所述用戶的登錄處理, 并通知所述用戶瀏覽器顯示登錄后的頁面; 用戶瀏覽器,用于在接收到所述業務系統獲取用戶的登錄信息的指令后,向單點登錄 認證中心發送獲取所述用戶的登錄信息的請求,并將所述單點登錄認證中心返回的所述用 戶的登錄信息傳遞至所述業務系統,在收到所述業務系統通知后顯示登錄后的頁面; 單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,在本地查詢所述用戶的 登錄信息,若查詢到,則將查詢到的所述用戶的登錄信息通過所述用戶瀏覽器返回給所述 業務系統。
7. 如權利要求6所述的系統,其特征在于: 所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統的重定向地 址; 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中攜帶有所述用戶的全局會話ID和 所述業務系統的重定向地址; 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,在本地查詢所述用 戶的登錄信息,若查詢到,將查詢到的所述用戶的登錄信息通過所述用戶瀏覽器返回給所 述業務系統,包括: 所述單點登錄認證中心,用于判斷是否存在與所述用戶的全局會話ID對應的全局會 話,如果存在,則根據與所述用戶的全局會話ID對應的全局會話的會話信息,將所述用戶 的登錄信息通過所述用戶瀏覽器重定向給所述業務系統,重定向地址為所述業務系統的重 定向地址,所述會話信息包括所述用戶的登錄信息。
8. 如權利要求6所述的系統,其特征在于: 所述業務系統獲取所述用戶的登錄信息的指令中攜帶有所述業務系統的重定向地 址; 所述用戶瀏覽器獲取所述用戶的登錄信息的請求中僅攜帶有所述業務系統的重定向 地址; 所述單點登錄認證中心,還用于當判斷所述請求中未攜帶用戶的全局會話ID時,查詢 不到所述用戶的登錄信息,則將獲取用戶登錄信息失敗的結果通過所述用戶瀏覽器重定向 給所述業務系統,重定向地址為所述業務系統的重定向地址; 所述用戶瀏覽器,還用于將所述單點登錄認證中心返回的獲取用戶登錄信息失敗的結 果重定向給所述業務系統,并在接收到所述業務系統發出的返回到用戶當前瀏覽頁面的指 令后,顯示當前瀏覽頁面; 所述業務系統,還用于根據所述獲取用戶登錄信息失敗的結果向所述用戶瀏覽器發出 返回到相應瀏覽頁面的指令。
9. 如權利要求7所述的系統,其特征在于:還包括用戶首次登錄的單點登錄系統內的 某個業務系統;其中: 所述用戶首次登錄的單點登錄系統內的某個業務系統,用于在通過所述用戶的登錄認 證時,向所述用戶瀏覽器發送存儲所述用戶在該業務系統登錄時的登錄信息的指令,通過 所述用戶瀏覽器請求所述單點登錄認證中心存儲所述用戶在該業務系統登錄時的登錄信 息; 所述用戶瀏覽器,還用于在接收到所述某個業務系統請求存儲所述用戶在該業務系統 登錄時的登錄信息的指令后,向所述單點登錄認證中心發送存儲所述用戶在該業務系統登 錄時的登錄信息的請求; 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,將所述用戶在該業 務系統登錄時的登錄信息進行存儲。
10. 如權利要求9所述的系統,其特征在于: 所述某個業務系統存儲所述用戶在該業務系統登錄時的登錄信息的指令中攜帶有所 述單點登錄系統內某個業務系統的重定向地址和業務系統標識; 所述用戶瀏覽器存儲所述用戶在該業務系統登錄時的登錄信息的請求中攜帶有所述 某個業務系統的重定向地址、業務系統標識以及所述用戶在該業務系統登錄時的登錄信 息; 所述單點登錄認證中心,用于在接收到所述用戶瀏覽器的請求后,將所述用戶在該業 務系統登錄時的登錄信息進行存儲,包括: 所述單點登錄認證中心收到所述請求后,生成所述用戶在該業務系統登錄時的全局會 話,并為該用戶在單點登錄認證中心的本次登錄行為配置全局會話ID,在所述全局會話的 會話信息中保存所述某個業務系統的業務系統標識和所述用戶在該業務系統登錄時的登 錄信息,并將所述全局會話ID返回至所述用戶瀏覽器,并通過所述用戶瀏覽器重定向給所 述某個業務系統,重定向地址為所述某個業務系統的重定向地址; 所述用戶瀏覽器,還用于在接收并保存所述單點登錄認證中心返回的所述用戶的全局 會話ID,并傳遞給所述某個業務系統。
【文檔編號】H04L29/06GK104158818SQ201410422428
【公開日】2014年11月19日 申請日期:2014年8月25日 優先權日:2014年8月25日
【發明者】劉曉靖, 張鵬, 胡尼亞, 王志軍, 靳銳敏, 許海翔, 王春婷 申請人:中國聯合網絡通信集團有限公司