一種實現通用單點登錄的方法、裝置和系統的製作方法
2023-06-30 13:31:56 1
專利名稱:一種實現通用單點登錄的方法、裝置和系統的製作方法
技術領域:
本發明涉及通信領域,具體涉及一種實現通用單點登錄的方法、裝置和系統。
背景技術:
作為一種通用的企業業務整合方案,單點登錄(Single Sign 0n,SS0)已經在企業內部信息系統中得到廣泛應用。實現單點登錄需要一套統一的認證系統,用戶在訪問接入應用系統前,必須先在認證系統通過認證。認證系統在用戶通過認證後記錄用戶登錄狀態,並向用戶瀏覽器核發身份令牌(Token)。用戶瀏覽器在訪問某個應用系統時,應用系統先獲取所述身份令牌,接著向認證伺服器校驗該身份令牌的合法性並獲取用戶身份,最後根據校驗結果進行響應。實現上述單點登錄過程需要接入系統做一定改造,具體方式根據單點接入的產品和技術方案的不同而有所區別。一部分方案需要在接入應用系統的伺服器上安裝部署插件,插件可以提前截獲HTTP請求並發往認證伺服器,認證伺服器會提取身份令牌以進行驗證,之後應用系統可以直接從HTTP請求(如HTTP頭)中獲得用戶身份;另一些方案需要接入系統完成提取身份令牌並發往認證伺服器校驗的工作。上述兩種方案中,前一種方案的單點登錄產品需對所有的系統提供插件支持;後一種方案會在進行所述改造時產生的工作量。由於企業信息化水平的不斷提升,單點登錄技術在企業內部信息系統中的應用極為廣泛,但使用單點登錄面臨著以下幾個問題:1、企業內部信息化系統環境複雜,單點登錄產品不一定能支持所有的系統。當前的很多單點登錄產品需在接入系統伺服器安裝部署插件等,插件雖然豐富,但針對不同種類及版本的作業系統和伺服器產品需要部署特定的插件,而由廠商提供的插件儘管品種繁多但數量仍然有限,一旦接入系統使用了單點登錄產品不支持的應用,那麼在不改動接入系統架構的情況下無法實現單點登錄。2、更換單點登錄產品時改造困難、工作量大。企業內部信息化系統有時會因為客觀原因更換單點登錄產品(如更換企業信息化系統的入口),單點登錄產品一般也會隨入口產品一同更換。一旦更換單點登錄產品,則所有接入到該單點登錄產品的系統需根據新的單點登錄產品的要求重新改造,隨之而來的是大量的開發和測試工作,這些工作必然給系統運行帶來影響,同時也帶來了很多不可控因素。3、不利於及時定位故障。大部分成熟產品都是將插件安裝部署在接入系統的Web伺服器上,攔截了 Web伺服器接收的所有請求,因此理論上接入系統出現的故障都可能與單點登錄產品有關。由於插件和認證伺服器間的通訊對於接入系統不可見,因此接入系統的操作人員在出現故障時很難簡單判斷出故障是否與單點登錄產品有關。
發明內容
有鑑於此,本發明的主要目的在於提供一種實現通用單點登錄的方法、裝置和系統,保證單點登錄的通用性。為達到上述目的,本發明的技術方案是這樣實現的:一種實現通用單點登錄的系統,該系統包括服務中間層、接入系統;其中,所述服務中間層通用於不同單點登錄產品,設置於接入系統與單點登錄認證伺服器之間,用於基於通用的單點登錄方式為接入系統進行權限驗證;所述接入系統,用於根據用戶瀏覽器的訪問請求向服務中間層發送認證請求;以及接收來自服務中間層的認證結果,並根據得到的認證結果完成授權工作。所述服務中間層包括通用認證伺服器、認證處理器和認證適配器;其中,所述通用認證伺服器,用於提供認證服務,接收接入系統的認證請求並將認證結果反饋給接入系統;所述認證處理器,用於處理接入系統的認證請求並反饋認證結果;所述認證適配器,用於對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性,以及提供認證服務以供認證處理器調用。一種實現通用單點登錄的裝置,該裝置通用於不同單點登錄產品,設置於接入系統與單點登錄認證伺服器之間,用於基於通用的單點登錄方式為接入系統進行權限驗證;所述裝置包括通用認證伺服器、認證處理器和認證適配器;其中,所述通用認證伺服器,用於提供認證服務,接收接入系統的認證請求並將認證結果反饋給接入系統;所述認證處理器,用於處理接入系統的認證請求並反饋認證結果;所述認證適配器,用於對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性,以及提供認證服務以供認證處理器調用。所述通用認證伺服器,用於:在處理接入系統的認證請求時,提取並整理認證請求中的請求字符串的數據,將整理後的數據發往單點登錄認證伺服器進行認證;和/或,在反饋認證結果時,根據認證請求的請求字符串和單點登錄認證伺服器的反饋結果,整理需要反饋的數據,並將整理後的數據反饋給接入系統。所述裝置基於通用的單點登錄方式為接入系統進行權限驗證時,所述通用認證伺服器用於:通過接入系統接收用戶瀏覽器的訪問請求,將其中包含的身份令牌提交給單點登錄認證伺服器進行驗證,並接收單點登錄認證伺服器返回的認證結果。所述裝置支持HTTP。—種實現通用單點登錄的方法,在接入系統與單點登錄認證伺服器之間設置通用於不同單點登錄產品的服務中間層,該方法還包括:在所述服務中間層基於通用的單點登錄方式為接入系統進行權限驗證時,服務中間層通過接入系統接收用戶瀏覽器的訪問請求,將其中包含的身份令牌提交給單點登錄認證伺服器進行驗證,並接收單點登錄認證伺服器返回的認證結果。在進行所述權限驗證之前,該方法還包括:用戶瀏覽器向單點登錄認證伺服器發起認證請求,接收發放的身份令牌,並向接入系統發起包含該身份令牌的訪問請求;和/或,在進行所述權限驗證之後,該方法還包括:服務中間層將認證結果返回給接入系統,接入系統根據得到的認證結果完成授權工作。所述服務中間層基於通用的單點登錄方式為接入系統進行權限驗證時,對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性。接入系統通過HTTP方式以XML數據格式與服務中間層進行通訊。本發明使得各接入系統與服務中間層交互,而不是直接與單點登錄產品交互,並且服務中間層提供通用的單點登錄方式,因而保證了單點登錄產品間的通用性,能夠統一為各接入系統進行權限驗證。
圖1為本發明實施例的單點登錄系統示意圖;圖2為本發明實施例的單點登錄流程圖;圖3為本發明實施例的單點登錄流程簡圖。
具體實施例方式在實際應用中,可以對單點登錄產品提供的認證請求的字符數據(如:現有成熟的多個單點登錄產品提供的認證請求的字符數據)進行抽象、封裝,並增加通用的服務中間層(如=HTTP服務中間層,下面以HTTP服務中間層為例進行描述)。各接入系統與服務中間層交互,而不是直接與單點登錄產品交互;並且服務中間層提供通用的單點登錄方式(如=HTTP單點登錄方式),以便為各接入系統進行權限驗證。下面結合附圖並應用具體實例對本發明進行詳細描述。參見圖1,圖1中,HTTP服務中間層處於接入系統和單點登錄認證伺服器之間,能夠分別與接入系統和單點登錄認證伺服器進行交互,以屏蔽接入系統與單點登錄認證伺服器之間的直接交互。HTTP服務中間層可以包含三部分:通用認證伺服器(如HTTP認證伺服器,下面以HTTP認證伺服器為例進行描述)、認證處理器和認證適配器。DHTTP認證伺服器HTTP認證伺服器能夠提供認證服務,接收接入系統的認證請求並將認證結果反饋給接入系統,接收的數據格式參照數據接口規範,HTTP認證伺服器與接入系統的交互可以遵循目前所通用的協議,如HTTP協議。2)認證處理器認證處理器能夠處理接入系統的認證請求並反饋認證結果。處理接入系統的認證請求時,認證處理器能夠提取並整理認證請求中的請求字符串的數據,將整理後的數據發往單點登錄認證伺服器進行認證。反饋認證結果時,認證處理器能夠根據認證請求的請求字符串和單點登錄認證伺服器的反饋結果,整理需要反饋的數據,並將整理後的數據反饋給接入系統。3)認證適配器
認證適配器能夠對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性,提供簡單的認證服務以供認證處理器調用。單點登錄認證伺服器的產品升級或變更時,只需對認證適配器進行相應的定製開發,不涉及接入系統的改造。接入系統是指各類應用系統。用戶瀏覽器在訪問各應用系統時,不需要通過輸入用戶認證信息來完成驗證,而是利用單點登錄功能即可完成系統登錄。
接入系統可以根據數據接口規範,基於通用的通信協議以特定的數據格式與服務中間層進行通訊,即可完成單點接入,如:通過HTTP方式以XML數據格式與HTTP服務中間層進行通訊。基於上述情況,接入系統不直接與單點登錄認證伺服器交互,單點登錄認證伺服器更換時不影響接入系統的架構。本實施例中,通用認證伺服器只針對HTTP服務中間層和用戶直接訪問提供認證服務。用戶瀏覽器是指用戶訪問應用系統時所使用的瀏覽器。前述的數據接口規範定義了單點登錄時接入系統和HTTP服務中間層之間的通訊規範,包括請求字符串和響應字符串,兩者均可以通過XML方式封裝並存放在HTTP體(Body)中。I)請求字符串請求字符串是接入系統向HTTP服務中間層發起驗證請求時所定義的XML格式的字符串,主要包含token和員工編號(employeeNumber)兩個部分,具體定義形式如下:〈request〉$token〈/token>〈employeeNumber/〉〈/request〉其中,token欄位是記錄用戶在通用認證伺服器上登錄信息的一串字符串,接入系統可從用戶的HTTP請求中提取token欄位的信息。通常,token欄位必須填寫。employeeNumber是指向HTTP服務中間層申請的員工編號的值。employeeNumber欄位可以不填寫,不填寫employeeNumber欄位時則不申請相應值。2)響應字符串響應字符串是HTTP服務中間層根據接入系統的請求,反饋給接入系統的XML字符
串,具體形式如下:
$status
權利要求
1.一種實現通用單點登錄的系統,其特徵在於,該系統包括服務中間層、接入系統;其中, 所述服務中間層通用於不同單點登錄產品,設置於接入系統與單點登錄認證伺服器之間,用於基於通用的單點登錄方式為接入系統進行權限驗證; 所述接入系統,用於根據用戶瀏覽器的訪問請求向服務中間層發送認證請求;以及接收來自服務中間層的認證結果,並根據得到的認證結果完成授權工作。
2.根據權利要求1所述的系統,其特徵在於,所述服務中間層包括通用認證伺服器、認證處理器和認證適配器;其中, 所述通用認證伺服器,用於提供認證服務,接收接入系統的認證請求並將認證結果反饋給接入系統; 所述認證處理器,用於處理接入系統的認證請求並反饋認證結果;所述認證適配器,用於對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性,以及提供認證服務以供認證處理器調用。
3.一種實現通用單點登錄的裝置,其特徵在於,該裝置通用於不同單點登錄產品,設置於接入系統與單點登錄認證伺服器之間,用於基於通用的單點登錄方式為接入系統進行權限驗證;所述裝置包括通用認證伺服器、認證處理器和認證適配器;其中, 所述通用認證伺服器,用於提供認證服務,接收接入系統的認證請求並將認證結果反饋給接入系統; 所述認證處理器,用於處理接入系統的認證請求並反饋認證結果;所述認證適配器,用於對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性,以及提供認證服務以供認證處理器調用。
4.根據權利要求3所述的裝置,其特徵在於,所述通用認證伺服器,用於: 在處理接入系統的認證請求時,提取並整理認證請求中的請求字符串的數據,將整理後的數據發往單點登錄認證伺服器進行認證;和/或, 在反饋認證結果時,根據認證請求的請求字符串和單點登錄認證伺服器的反饋結果,整理需要反饋的數據,並將整理後的數據反饋給接入系統。
5.根據權利要求3或4所述的裝置,其特徵在於,所述裝置基於通用的單點登錄方式為接入系統進行權限驗證時,所述通用認證伺服器用於: 通過接入系統接收用戶瀏覽器的訪問請求,將其中包含的身份令牌提交給單點登錄認證伺服器進行驗證,並接收單點登錄認證伺服器返回的認證結果。
6.根據權利要求3所述的裝置,其特徵在於,所述裝置支持HTTP。
7.一種實現通用單點登錄的方法,其特徵在於,在接入系統與單點登錄認證伺服器之間設置通用於不同單點登錄產品的服務中間層,該方法還包括:在所述服務中間層基於通用的單點登錄方式為接入系統進行權限驗證時,服務中間層通過接入系統接收用戶瀏覽器的訪問請求,將其中包含的身份令牌提交給單點登錄認證伺服器進行驗證,並接收單點登錄認證伺服器返回的認證結果。
8.根據權利要求7所述的方法,其特徵在於, 在進行所述權限驗證之前,該方法還包括:用戶瀏覽器向單點登錄認證伺服器發起認證請求,接收發放的身份令牌,並向接入系統發起包含該身份令牌的訪問請求;和/或,在進行所述權限驗證之後,該方法還包括:服務中間層將認證結果返回給接入系統,接入系統根據得到的認證結果完成授權工作。
9.根據權利要求7所述的方法,其特徵在於,所述服務中間層基於通用的單點登錄方式為接入系統進行權限驗證時,對不同單點登陸產品提供的認證請求的字符數據進行抽象和封裝,屏蔽不同單點登錄認證伺服器之間的差異性。
10.根據權利要求7至9任一項所述的方法,其特徵在於,接入系統通過HTTP方式以XML數據格式與服務 中間層進行通訊。
全文摘要
本發明公開了一種實現通用單點登錄的方法、裝置和系統,在接入系統與單點登錄認證伺服器之間設置通用於不同單點登錄產品的服務中間層;所述服務中間層基於通用的單點登錄方式為接入系統進行權限驗證時,服務中間層通過接入系統接收用戶瀏覽器的訪問請求,將其中包含的身份令牌提交給單點登錄認證伺服器進行驗證,並接收單點登錄認證伺服器返回的認證結果。本發明使得各接入系統與服務中間層交互,而不是直接與單點登錄產品交互,並且服務中間層提供通用的單點登錄方式,因而保證了單點登錄的通用性,能夠統一為各接入系統進行權限驗證。
文檔編號H04L29/06GK103078932SQ20121058979
公開日2013年5月1日 申請日期2012年12月31日 優先權日2012年12月31日
發明者江衛衝, 王春華, 俞新華, 葉璐, 劉利明, 陳若鵬 申請人:中國移動通信集團江蘇有限公司