一種單點登錄系統及其實現方法
2023-10-23 12:24:47 1
一種單點登錄系統及其實現方法
【專利摘要】本發明公開了一種單點登錄系統及其實現方法,該方法包括如下步驟:客戶機向應用伺服器發送登錄請求,集成於應用伺服器上的登錄認證客戶端將請求轉至登錄認證伺服器,登錄認證伺服器通過登錄代理服務獲取客戶機的唯一標識,並將唯一標識、用戶名、密碼、登錄狀態等登錄信息保存或更新至用戶信息資料庫,登錄認證伺服器根據唯一標識查詢用戶登錄信息,並派發加密令牌給應用伺服器,應用伺服器根據該令牌查詢用戶的登錄情況。本發明中,登錄認證伺服器通過安裝在客戶機後臺的登錄代理服務獲取客戶機唯一標識,可實現多應用系統間跨瀏覽器、跨架構(B/S,C/S)且安全可靠的單點登錄目的。
【專利說明】
一種單點登錄系統及其實現方法
【技術領域】
[0001]本發明涉及一種單點登錄系統和實現方法,主要應用於多應用系統間的統一登錄和註銷。
【背景技術】
[0002]當存在多個業務系統時,通過統一的用戶登錄平臺,只需要進行一次登錄或註銷,即可完成在多個業務系統中的統一登錄或註銷,大大方便了用戶的使用和操作。目前,廣泛使用的基於瀏覽器cookie的單點登錄方法存在以下缺陷:
[0003](I)基於http協議的訪問請求,在安全性上不能保證,而使用https協議,傳輸速度慢。
[0004](2)基於cookie的單點登錄方法是基於瀏覽器的,其無法跨瀏覽器進行統一登錄和註銷。
[0005](3)由於基於cookie的單點登錄方法是基於瀏覽器的,故無法在C/S架構中使用。
【發明內容】
[0006]為克服以上單點登錄方法的不足和缺陷,本發明提供了一種新的單點登錄方法,其不僅安全可靠,而且可以實現跨瀏覽器和跨架構操作。
[0007]為了解決上述技術問題,本發明公開了一種單點登錄系統,其基於一個登錄認證伺服器,登錄認證客戶端以及用戶信息資料庫,完成客戶機對多個應用伺服器的統一登錄/註銷。
[0008]本發明為實現一種單點登錄系統,其至少包括以下內容:
[0009]系統包括客戶機、登錄認證伺服器、登錄認證客戶端、用戶信息資料庫。其中,客戶機分為前臺和後臺兩部分,前臺部分可以為瀏覽器或桌面程序,可向應用伺服器發送登錄請求,後臺部分為登錄代理服務,登錄認證伺服器訪問該服務生成客戶機的唯一標識;登錄認證伺服器完成用戶登錄情況的查詢校驗等工作;登錄認證客戶端集成於各個應用中,實現對登錄請求進行過濾和轉發;用戶信息資料庫保存客戶機唯一標識、用戶名、密碼、登錄狀態等登錄信息。
[0010]用戶第一次登錄系統,可分為通過瀏覽器方式第一次登錄系統以及通過桌面程序方式第一次登錄系統。其中,用戶通過瀏覽器方式第一次登錄系統,登錄認證伺服器將返回一個登錄界面;用戶通過桌面程序方式第一次登錄系統,登錄認證客戶端將返回一個登錄界面。
[0011]登錄界面可檢測、自動下載並安裝一個登錄代理程序。該程序在客戶機後臺啟動一個登錄代理服務,該服務與登錄認證伺服器保持交互,登錄認證伺服器可通過該服務獲取到客戶機的mac地址等硬體信息,作為客戶機的唯一標識。
[0012]單點登錄系統的實現方法包括了登錄請求過程、登錄認證過程、登錄信息持久化過程、登錄註銷過程。
[0013]在登錄請求過程中,應用伺服器收到客戶機發來的訪問請求,其集成的登錄認證客戶端會對登錄請求進行解析,解析過程包括:
[0014]Al:登錄認證客戶端在應用伺服器的會話中找到用戶憑證,完成用戶登錄。用戶憑證包括客戶機唯一標識和用戶名;
[0015]A2:登錄認證客戶端在登錄請求中檢測到加密令牌,將加密令牌發至登錄認證伺服器進行校驗;
[0016]A3:登錄認證客戶端在登錄請求中未檢測到加密令牌,將登錄請求轉至登錄認證伺服器。
[0017]在登錄認證過程中,登錄認證伺服器會對應用伺服器轉發過來的加密令牌、登錄請求、用戶名和密碼進行校驗認證,至少包括以下內容:
[0018]B1:登錄認證伺服器對加密令牌進行校驗,校驗通過後,銷毀加密令牌,並返回登錄信息至應用伺服器,在應用會話中保存客戶機唯一標識和用戶名作為用戶憑證,完成用戶登錄;
[0019]B2:登錄認證伺服器可檢測客戶機上是否有登錄代理服務,若沒有,則客戶機返回登錄界面;若有,則通過登錄代理服務獲取客戶機唯一標識。
[0020]B3:登錄認證伺服器可在用戶信息資料庫中檢測客戶機唯一標識。若檢測到該唯一標識有對應的登錄信息,則返回加密令牌給應用伺服器;若未檢測到該唯一標識或其登錄信息,則客戶機返回登錄頁面。
[0021]B4:登錄認證伺服器獲取用戶名和密碼,在用戶信息資料庫中查詢該用戶名和密碼是否有效。
[0022]在登錄信息持久化過程中,登錄認證伺服器會將客戶機唯一標識、用戶名、密碼等保存至用戶信息資料庫中。
[0023]在登錄註銷過程中,應用伺服器收到客戶機的登錄註銷請求,會將註銷請求轉發至登錄認證伺服器,登錄認證伺服器獲取客戶機唯一標識,並更新用戶信息資料庫中的用戶登錄信息。
[0024]本發明公開了一種單點登錄系統及其實現方法,該方法包括如下步驟:客戶機向應用伺服器發送登錄請求,集成於應用伺服器上的登錄認證客戶端將請求轉至登錄認證伺服器,登錄認證伺服器通過登錄代理服務獲取客戶機的唯一標識,並將唯一標識、用戶名、密碼、登錄狀態等登錄信息保存或更新至用戶信息資料庫,登錄認證伺服器根據唯一標識查詢用戶登錄信息,並派發加密令牌給應用伺服器,應用伺服器根據該令牌查詢用戶的登錄情況。本發明中,登錄認證伺服器通過安裝在客戶機後臺的登錄代理服務獲取客戶機唯一標識,可實現多應用系統間跨瀏覽器、跨架構(B/S,C/S)且安全可靠的單點登錄目的。
【專利附圖】
【附圖說明】
[0025]下面結合附圖和【具體實施方式】對本發明做更進一步的具體說明,本發明的上述和/或其他方面的優點將會變得更加清楚。
[0026]圖1為單點登錄實施步驟登錄過程圖
[0027]圖2為單點登錄實施步驟註銷過程圖。
[0028]圖3為單點登錄各階段的信息流轉圖。
【具體實施方式】
[0029]實施例
[0030]如圖1?圖3所示,本實施例具體包括以下內容:
[0031]1、第一次登錄應用A
[0032]I.I客戶機請求訪問應用A。
[0033]1.2應用A上集成的登錄認證客戶端會對該請求進行分析,在應用A的會話(sess1n)中檢測是否存在用戶憑證,檢測請求中是否帶有加密令牌。當檢測到會話中無用戶憑證,且請求中不帶有加密令牌,進入下一步。
[0034]1.3若用戶通過瀏覽器訪問,則將該請求重定向到登錄認證伺服器,登錄認證伺服器收到應用A重定向過來的請求,向客戶機返回一個用戶登錄驗證頁面;若用戶通過桌面程序訪問,登錄認證伺服器檢測到客戶機無登錄代理服務,則登錄認證客戶端會啟動客戶機的瀏覽器,返回用戶登錄驗證頁面。
[0035]1.4登錄驗證頁面會要求用戶安裝一個用於檢測客戶機唯一標識的程序,用戶同意安裝後,該程序會自動下載並安裝於客戶機上,該程序將在客戶機後臺啟動一個登錄代理服務。登錄認證伺服器會時刻與該服務保持交互,以獲取客戶機唯一標識。
[0036]1.5用戶在登錄頁面中輸入用戶名和密碼,登錄認證伺服器對用戶名和密碼進行校驗。若用戶名和密碼正確,則在用戶信息資料庫中添加該用戶的登錄信息,登錄信息至少包括客戶機唯一標識、用戶名、密碼、登錄狀態;若用戶名和密碼校驗不正確,則向客戶機重新返回登錄頁面,重複本步驟。
[0037]1.6登錄認證伺服器生成一個與用戶登錄信息相關聯的加密令牌,加密令牌作為參數隨請求返回至應用A。
[0038]1.7登錄認證客戶端檢測到請求中的加密令牌,將加密令牌發送到登錄認證伺服器進行校驗,校驗成功後,銷毀加密令牌,返回登錄信息到應用A,並在應用A的會話中保存該用戶的憑證,完成應用A的登錄。
[0039]2、第一次訪問應用B
[0040]2.1客戶機請求訪問應用B。
[0041]2.2應用B上集成的登錄認證客戶端對該請求進行分析,檢測請求中是否帶有加密令牌,在應用B的會話中檢測是否存在用戶憑證。當檢測到會話中無用戶憑證,且請求中不帶有加密令牌,進入下一步。
[0042]2.3登錄認證客戶端將請求轉至登錄認證伺服器,登錄認證伺服器檢測到客戶機上存在登錄代理服務,登錄認證伺服器通過該服務獲取客戶機唯一標識。
[0043]2.4登錄認證伺服器在用戶信息資料庫中查詢是否存在該唯一標識。當登錄認證伺服器檢測到該唯一標識及其對應的登錄信息,登錄認證伺服器會生成一個加密令牌,並將該令牌返回給應用B。
[0044]2.5應用B收到加密令牌後,與登錄認證伺服器進行校驗,校驗成功後,立即銷毀該加密令牌,返回登錄信息到應用B,將應用B納入單點登錄範圍內,並在應用B的會話中保存該用戶憑證。
[0045]3、第二次登錄應用A或應用B
[0046]3.1當用戶下次訪問應用A或應用B的時候,由於各自應用的會話中能夠拿到該請求用戶的憑證,即可實現直接登錄。
[0047]4、用戶註銷應用A或應用B
[0048]4.1用戶向應用A或應用B發送註銷請求。
[0049]4.2應用A或應用B收到註銷請求後,將請求發至登錄認證伺服器,登錄認證伺服器通過登錄代理服務獲取客戶機唯一標識,並更新用戶信息資料庫中的用戶登錄信息。
[0050]本發明提供了一種單點登錄系統及其實現方法,具體實現該技術方案的方法和途徑很多,以上所述僅是本發明的優選實施方式,應當指出,對於本【技術領域】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。本實施例中未明確的各組成部分均可用現有技術加以實現。
【權利要求】
1.一種單點登錄系統,其特徵在於,包括客戶機、登錄認證伺服器、登錄認證客戶端、以及用戶信息資料庫,用於對兩個以上不同應用伺服器上的不同應用進行統一登錄和註銷管理; 所述客戶機分為前臺和後臺兩部分,前臺部分為瀏覽器或桌面程序,用於向應用伺服器發送登錄請求,後臺部分為登錄代理服務,登錄認證伺服器訪問該登錄代理服務生成客戶機的唯一標識; 所述登錄認證伺服器完成用戶登錄情況的查詢校驗; 登錄認證客戶端用於集成需要進行統一登錄管理的所有應用,並對登錄請求進行過濾和轉發; 用戶信息資料庫保存客戶機唯一標識、用戶名、密碼以及登錄狀態的登錄信息。
2.根據權利要求1所述的系統,其特徵在於,用戶第一次登錄系統,分為通過瀏覽器方式第一次登錄系統以及通過桌面程序方式第一次登錄系統。
3.根據權利要求2所述的系統,其特徵在於,用戶通過瀏覽器方式第一次登錄系統,登錄認證伺服器返回一個登錄界面。
4.根據權利要求2所述的系統,其特徵在於,用戶通過桌面程序方式第一次登錄系統,登錄認證客戶端返回一個登錄界面。
5.根據權利要求3或4所述的系統,其特徵在於,所述登錄界面用於檢測、自動下載並安裝一個登錄代理程序;登錄代理程序安裝後用於在客戶機後臺啟動一個登錄代理服務,該服務與登錄認證伺服器保持交互,登錄認證伺服器通過該服務獲取到客戶機的mac地址的硬體信息,作為客戶機的唯一標識。
6.一種單點登錄實現方法,其特徵在於,包括登錄請求步驟、登錄認證步驟、登錄信息持久化步驟、以及登錄註銷步驟; 所述登錄請求步驟中,客戶機向應用伺服器發送登錄請求,登錄認證客戶端對登錄請求進行解析,包括如下內容: Al:登錄認證客戶端在應用伺服器的會話中找到用戶憑證,完成用戶登錄;用戶憑證包括客戶機唯一標識和用戶名; A2:如果登錄認證客戶端在登錄請求中檢測到加密令牌,將加密令牌發至登錄認證伺服器進行校驗; A3:如果登錄認證客戶端在登錄請求中未檢測到加密令牌,將登錄請求轉至登錄認證伺服器; 所述登錄認證步驟中,包括如下內容: B1:如果登錄認證伺服器收到加密令牌則對加密令牌進行校驗,校驗通過後,銷毀加密令牌,並返回登錄信息至應用伺服器,在應用會話中保存客戶機唯一標識和用戶名作為用戶憑證,完成用戶登錄; B2:登錄認證伺服器檢測客戶機上是否有登錄代理服務,若沒有,則客戶機返回登錄界面;若有,則通過登錄代理服務獲取客戶機唯一標識; B3:登錄認證伺服器在用戶信息資料庫中檢測客戶機唯一標識,若檢測到該唯一標識有對應的登錄信息,則返回加密令牌給應用伺服器;若未檢測到該唯一標識或其登錄信息,則客戶機返回登錄頁面; B4:登錄認證伺服器獲取用戶名和密碼,在用戶信息資料庫中查詢該用戶名和密碼是否有效,如果有效,則進行下一步,否則結束; 所述登錄信息持久化步驟,在登錄頁面輸入用戶名和密碼,經認證有效後,將連同客戶機唯一標識保存在用戶信息資料庫中; 所述登錄註銷步驟,在客戶機進行登錄註銷操作後,登錄註銷請求轉發至登錄認證伺服器,登錄認證伺服器獲取客戶機唯一標識,並更新用戶信息資料庫中的用戶登錄信息。
【文檔編號】H04L29/06GK104301316SQ201410537914
【公開日】2015年1月21日 申請日期:2014年10月13日 優先權日:2014年10月13日
【發明者】高翔, 許家堯, 朱子傑 申請人:中國電子科技集團公司第二十八研究所