本發(fā)明涉及分布式系統(tǒng)
技術(shù)領(lǐng)域:
,特別涉及一種分布式系統(tǒng)的控制方法及登錄系統(tǒng)。
背景技術(shù):
:隨著網(wǎng)絡(luò)的蓬勃發(fā)展,分布式系統(tǒng)已經(jīng)成為大型系統(tǒng)網(wǎng)站的必要手段,將復(fù)雜的業(yè)務(wù)系統(tǒng)進行拆分,拆分成若干個功能系統(tǒng),形成大規(guī)模的分布式系統(tǒng)應(yīng)用。這樣,就涉及到若干個功能系統(tǒng)的統(tǒng)一登錄問題,即單點登錄。即從登錄系統(tǒng)登錄后,訪問其他業(yè)務(wù)系統(tǒng)時可以不再登錄,即可訪問對應(yīng)的功能?,F(xiàn)有技術(shù)方案是用戶每次通過單點登錄系統(tǒng),輸入賬號密碼進行登錄驗證,驗證成功后登錄系統(tǒng)會通過唯一的密鑰生成加密信息(登錄cookie值),同時,將加密信息放置到cookie中返回給用戶客戶端瀏覽器。之后,用戶再通過瀏覽器訪問各個業(yè)務(wù)系統(tǒng)時,每個業(yè)務(wù)系統(tǒng)都會從用戶的請求中獲取登錄cookie值,用與單點登錄系統(tǒng)相同的密鑰進行cookie值解密,并校驗解密結(jié)果是否合法。如果不合法,則跳回登錄頁面重新登錄;如果合法,則正常處理用戶的請求。需要說明的是,每個業(yè)務(wù)都需要接入單點登錄系統(tǒng),接入的方式即為將客戶端登錄程序包引入該業(yè)務(wù)系統(tǒng),客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包,是用來進行cookie解密的客戶端程序,與登錄系統(tǒng)的cookie值加密邏輯為逆向過程?,F(xiàn)有技術(shù)方案存在客戶端登錄程序包被業(yè)務(wù)系統(tǒng)能隨意獲取、反編譯,可以分析登錄cookie解密代碼,同時,獲取cookie密鑰的方法、地址等都能被容易地獲取到,登錄系統(tǒng)存在很大的安全風險。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提供一種分布式系統(tǒng)的控制方法及登錄系統(tǒng),能夠確保系統(tǒng)的登錄安全。為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種分布式系統(tǒng)的控制方法,所述分布式系統(tǒng)包括登錄系統(tǒng)和業(yè)務(wù)系統(tǒng),該方法包括:登錄系統(tǒng)接收到輸入的業(yè)務(wù)系統(tǒng)信息,并確認審核通過后,動態(tài)生成帶有所述業(yè)務(wù)系統(tǒng)標識的客戶端登錄程序包,所述客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包;登錄系統(tǒng)將所述cookie解密程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,用于所述業(yè)務(wù)系統(tǒng)啟動后加載所述cookie解密程序包,解密登錄cookie值。為實現(xiàn)上述發(fā)明目的,本發(fā)明還提供了一種分布式系統(tǒng)中的登錄系統(tǒng),該登錄系統(tǒng)包括:生成單元,接收到輸入的業(yè)務(wù)系統(tǒng)信息,并確認審核通過后,動態(tài)生成帶有所述業(yè)務(wù)系統(tǒng)標識的客戶端登錄程序包,所述客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包;推送單元,統(tǒng)將所述cookie解密程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,用于所述業(yè)務(wù)系統(tǒng)啟動后加載所述cookie解密程序包,解密登錄cookie值。綜上所述,本發(fā)明實施例的分布式系統(tǒng)的控制方法,所述分布式系統(tǒng)包括登錄系統(tǒng)和業(yè)務(wù)系統(tǒng),該方法包括:登錄系統(tǒng)接收到輸入的業(yè)務(wù)系統(tǒng)信息,并確認審核通過后,動態(tài)生成帶有所述業(yè)務(wù)系統(tǒng)標識的客戶端登錄程序包,所述客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包;登錄系統(tǒng)將所述cookie解密程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,用于所述業(yè)務(wù)系統(tǒng)啟動后加載所述cookie解密程序包,解密登錄cookie值。由此可以看出,本發(fā)明的方案中,登錄系統(tǒng)在確認業(yè)務(wù)系統(tǒng)信息審核通過后,自動將客戶端登錄程序包推送給業(yè)務(wù)系統(tǒng)。業(yè)務(wù)系統(tǒng)的開發(fā)人員并不會知曉,可以防止惡意人員獲取客戶端登錄程序包進行cookie破解、密鑰偷取等操作,因此提高了業(yè)務(wù)系統(tǒng)的安全性。附圖說明圖1為本發(fā)明實施例分布式系統(tǒng)的控制方法的流程示意圖。圖2為本發(fā)明實施例登錄系統(tǒng)的結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步地詳細說明。本發(fā)明的方案針對現(xiàn)有系統(tǒng)中存在的缺陷,采用登錄系統(tǒng)統(tǒng)一管理客戶端登錄程序包的方式,并將客戶端登錄程序包自動推送到業(yè)務(wù)系統(tǒng)所在的服務(wù)器上(如tomcat、jboss上),這樣能隔離登錄程序與業(yè)務(wù)程序,讓業(yè)務(wù)開發(fā)人員不能獲取到客戶端登錄程序包,保證登錄系統(tǒng)對開發(fā)人員的隔離。本發(fā)明實施例分布式系統(tǒng)的控制方法的流程示意圖如圖1所示,其中,所述分布式系統(tǒng)包括登錄系統(tǒng)和業(yè)務(wù)系統(tǒng),該方法包括以下步驟:步驟11、登錄系統(tǒng)接收到輸入的業(yè)務(wù)系統(tǒng)信息,并確認審核通過后,動態(tài)生成帶有所述業(yè)務(wù)系統(tǒng)標識的客戶端登錄程序包,所述客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包。步驟12、登錄系統(tǒng)將所述cookie解密程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,用于所述業(yè)務(wù)系統(tǒng)啟動后加載所述cookie解密程序包,解密登錄cookie值。進一步地,在步驟11中,動態(tài)生成的客戶端登錄程序包還包括用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包;在步驟12中,登錄系統(tǒng)推送所述cookie解密程序包的同時,還將所述用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,以使業(yè)務(wù)系統(tǒng)的服務(wù)器根據(jù)所述用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包定時向登錄系統(tǒng)發(fā)送動態(tài)獲取密鑰列表的請求。其中,所述業(yè)務(wù)系統(tǒng)信息輸入在客戶端記錄表中,包括所述業(yè)務(wù)系統(tǒng)標識,及業(yè)務(wù)系統(tǒng)所在的多個服務(wù)器ip地址;所述登錄系統(tǒng)根據(jù)每個服務(wù)器的 ip地址,將所述cookie解密程序包或者用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上。進一步地,所述客戶端記錄表中每個業(yè)務(wù)系統(tǒng)所在的多個服務(wù)器ip地址形成一個ip列表;該方法進一步包括:登錄系統(tǒng)接收到業(yè)務(wù)系統(tǒng)的服務(wù)器定時發(fā)送的動態(tài)獲取密鑰列表的請求后,獲取所述業(yè)務(wù)系統(tǒng)的標識以及該服務(wù)器的ip地址,并通過所述業(yè)務(wù)系統(tǒng)的標識查詢客戶端記錄表,確認該服務(wù)器的ip地址是否存在于所述業(yè)務(wù)系統(tǒng)標識對應(yīng)的ip列表中,如果存在,則將登錄系統(tǒng)當前密鑰列表同步到該服務(wù)器上。優(yōu)選地,所述客戶端記錄表還包括客戶端登錄程序包版本,該方法進一步包括:在客戶端登錄程序包升級后,登錄系統(tǒng)將升級后的客戶端登錄程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,并更新客戶端記錄表中客戶端登錄程序包版本號。優(yōu)選地,所述客戶端記錄表還包括對業(yè)務(wù)系統(tǒng)信息的審核狀態(tài),客戶端登錄程序包推送是否完成的標志;該方法進一步包括:在登錄系統(tǒng)確認對業(yè)務(wù)系統(tǒng)信息的審核通過后,更新客戶端記錄表中該業(yè)務(wù)系統(tǒng)信息的審核狀態(tài)為通過;在登錄系統(tǒng)完成客戶端登錄程序包的推送后,更新客戶端記錄表中推送標志為完成。綜上,本發(fā)明由登錄系統(tǒng)自動向業(yè)務(wù)系統(tǒng)推送客戶端登錄程序包,并且登錄系統(tǒng)根據(jù)業(yè)務(wù)系統(tǒng)服務(wù)器ip列表對業(yè)務(wù)系統(tǒng)向登錄系統(tǒng)獲取密鑰列表的方式進行了限制,有效提高了系統(tǒng)的登錄安全性。為清楚說明本發(fā)明,下面列舉具體場景進行說明。1)業(yè)務(wù)系統(tǒng)的開發(fā)人員在登錄系統(tǒng)的客戶端記錄表中錄入本業(yè)務(wù)系統(tǒng)的信息??蛻舳擞涗洷碇锌梢园I(yè)務(wù)系統(tǒng)的標識,業(yè)務(wù)系統(tǒng)所在的多個服務(wù)器ip地址形成的ip列表。例如,業(yè)務(wù)系統(tǒng)a,對應(yīng)的ip列表(ip1,ip2,ip3)。當然,客戶端記錄表中還可以包括其他關(guān)于業(yè)務(wù)系統(tǒng)的信息,例如每個業(yè)務(wù)系統(tǒng)的負責人等信息。2)在審核人員對上述業(yè)務(wù)系統(tǒng)a的信息進行審核通過后,登錄系統(tǒng)更新客戶端記錄表中該業(yè)務(wù)系統(tǒng)信息的審核狀態(tài)為通過。3)登錄系統(tǒng)動態(tài)生成客戶端登錄程序包,將該業(yè)務(wù)系統(tǒng)的標識a打入該客戶端登錄程序包中。4)登錄系統(tǒng)將客戶端登錄程序包推送到業(yè)務(wù)系統(tǒng)a的每個服務(wù)器上,即推送到ip地址分別為ip1,ip2,ip3的服務(wù)器上。登錄系統(tǒng)更新客戶端記錄表中業(yè)務(wù)系統(tǒng)a對應(yīng)的推送標志為完成。其中,客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包,還包括用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包。cookie解密程序包是用來進行cookie解密的客戶端程序,與登錄系統(tǒng)的cookie值加密邏輯為逆向過程。業(yè)務(wù)系統(tǒng)啟動后加載所述cookie解密程序包,然后利用密鑰和該cookie解密程序包解密登錄cookie值。用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包,是使業(yè)務(wù)系統(tǒng)的服務(wù)器根據(jù)所述用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包定時向登錄系統(tǒng)發(fā)送動態(tài)獲取密鑰列表的請求??蛻舳擞涗洷砣绫?所示。業(yè)務(wù)系統(tǒng)標識ip列表審核狀態(tài)客戶端登錄程序包版本推送是否完成業(yè)務(wù)系統(tǒng)aip1,ip2,ip3通過v1是業(yè)務(wù)系統(tǒng)bip11,ip12,ip13通過v2否表1本發(fā)明實施例中,客戶端記錄表還包括客戶端登錄程序包版本,在客戶端登錄程序包升級后,登錄系統(tǒng)將升級后的客戶端登錄程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,并更新客戶端記錄表中客戶端登錄程序包版本號。其中,客戶端記錄表中關(guān)于業(yè)務(wù)系統(tǒng)b的信息的形成過程與業(yè)務(wù)系統(tǒng)a原理相同。業(yè)務(wù)系統(tǒng)b,對應(yīng)的ip列表(ip11,ip12,ip13),審核狀態(tài)為通過,客戶端登錄程序包版本為v2,客戶端登錄程序包推送未完成。這里需要注意的是,現(xiàn)有技術(shù)中登錄系統(tǒng)并不存在密鑰列表,只有一個唯一的密鑰用來生成登錄cookie值,該密鑰也是業(yè)務(wù)系統(tǒng)用來解密登錄cookie值的。進而,現(xiàn)有技術(shù)中,引入業(yè)務(wù)系統(tǒng)的客戶端登錄程序包也不需要包含用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包。而本發(fā)明的方案中登錄系統(tǒng)采用了實時修改的密鑰列表,該密鑰列表包括多個密鑰值,每個密鑰值對應(yīng)有密鑰狀態(tài)和密鑰版本。也就是說,登錄系統(tǒng)管理人員維護密鑰列表,因此密鑰列表可以實時修改,可以對現(xiàn)有的密鑰進行失效處理等,也可以新增密鑰。而且,更重要的是,本發(fā)明的方案客戶端登錄程序包包含用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包,該程序包被登錄系統(tǒng)推送到業(yè)務(wù)系統(tǒng)后,業(yè)務(wù)系統(tǒng)根據(jù)所述用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包定時同步登錄系統(tǒng)當前密鑰列表。只是,本發(fā)明進一步對定時獲取登錄系統(tǒng)當前密鑰列表的方式進行了限制,下面進行詳細說明。登錄系統(tǒng)接收到業(yè)務(wù)系統(tǒng)a的服務(wù)器(ip地址為ip1)定時發(fā)送的動態(tài)獲取密鑰列表的請求后,從請求中獲取所述業(yè)務(wù)系統(tǒng)的標識a以及該服務(wù)器的ip地址(ip1),并通過所述業(yè)務(wù)系統(tǒng)的標識a查詢客戶端記錄表,確認該服務(wù)器的ip地址是否存在于所述業(yè)務(wù)系統(tǒng)標識a對應(yīng)的ip列表中,如果存在,則將登錄系統(tǒng)當前密鑰列表同步到該服務(wù)器上。如果不存在,則結(jié)束流程。根據(jù)上述描述,本發(fā)明分布式系統(tǒng)的登錄驗證方法可以包括以下步驟:步驟s1、登錄系統(tǒng)在驗證客戶端的賬號密碼成功后,采用密鑰列表中最高版本的有效密鑰生成帶有該最高版本號的登錄cookie值,并將所述登錄cookie值返回給客戶端;步驟s2、業(yè)務(wù)系統(tǒng)接收到客戶端攜帶有所述登錄cookie值的業(yè)務(wù)請求后,獲取登錄cookie值的密鑰版本,通過所述密鑰版本在同步得到的密鑰列表中查詢對應(yīng)的密鑰;利用該密鑰和推送得到的cookie解密程序包解密登錄cookie值,在校驗解密結(jié)果合法后,處理正常的業(yè)務(wù)請求。其中,業(yè)務(wù)系統(tǒng)的密鑰列表是在業(yè)務(wù)系統(tǒng)啟動后,根據(jù)推送得到的用于 業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包,定時同步登錄系統(tǒng)當前密鑰列表,并且校驗ip地址通過后得到的。需要說明的是,本發(fā)明除了將客戶端登錄程序包推送到業(yè)務(wù)系統(tǒng)服務(wù)器上外,也可以將客戶端登錄程序包推送到服務(wù)器的某個路徑上,之后將該路徑加入到系統(tǒng)路徑,便于業(yè)務(wù)程序能夠訪問到該程序包,采用本地方法調(diào)用的方式(如java本能地方法的方式),也可以達到一致的效果?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明公開了一種登錄系統(tǒng),結(jié)構(gòu)示意圖如圖2所示。該登錄系統(tǒng)包括:生成單元201,接收到輸入的業(yè)務(wù)系統(tǒng)信息,并確認審核通過后,動態(tài)生成帶有所述業(yè)務(wù)系統(tǒng)標識的客戶端登錄程序包,所述客戶端登錄程序包包括用于對登錄cookie值進行解密的cookie解密程序包;推送單元202,將所述cookie解密程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,用于所述業(yè)務(wù)系統(tǒng)啟動后加載所述cookie解密程序包,解密登錄cookie值。所述客戶端登錄程序包還包括用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包;所述推送單元202,推送所述cookie解密程序包的同時,還將所述用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,以使業(yè)務(wù)系統(tǒng)的服務(wù)器根據(jù)所述用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包定時向登錄系統(tǒng)發(fā)送動態(tài)獲取密鑰列表的請求。所述業(yè)務(wù)系統(tǒng)信息輸入在客戶端記錄表中,包括所述業(yè)務(wù)系統(tǒng)標識,及業(yè)務(wù)系統(tǒng)所在的多個服務(wù)器ip地址;所述推送單元202,根據(jù)每個服務(wù)器的ip地址,將所述cookie解密程序包或者用于業(yè)務(wù)系統(tǒng)動態(tài)獲取密鑰列表的程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上。所述客戶端記錄表中每個業(yè)務(wù)系統(tǒng)所在的多個服務(wù)器ip地址形成一個ip列表;所述登錄系統(tǒng)還包括處理單元203,接收到業(yè)務(wù)系統(tǒng)的服務(wù)器定時發(fā)送的動態(tài)獲取密鑰列表的請求后,獲取所述業(yè)務(wù)系統(tǒng)的標識以及該服務(wù)器的ip地址,并通過所述業(yè)務(wù)系統(tǒng)的標識查詢客戶端記錄表,確認該服務(wù)器的ip地址是否存在于所述業(yè)務(wù)系統(tǒng)標識對應(yīng)的ip列表中,如果存在,則將登錄系統(tǒng)當前密鑰列表同步到該服務(wù)器上。所述客戶端記錄表還包括客戶端登錄程序包版本,所述推送單元202,在客戶端登錄程序包升級后,登錄系統(tǒng)將升級后的客戶端登錄程序包推送到所述業(yè)務(wù)系統(tǒng)的每個服務(wù)器上,并更新客戶端記錄表中客戶端登錄程序包版本號。所述客戶端記錄表還包括對業(yè)務(wù)系統(tǒng)信息的審核狀態(tài),客戶端登錄程序包推送是否完成的標志;所述推送單元202,在登錄系統(tǒng)確認對業(yè)務(wù)系統(tǒng)信息的審核通過后,更新客戶端記錄表中該業(yè)務(wù)系統(tǒng)信息的審核狀態(tài)為通過;在登錄系統(tǒng)完成客戶端登錄程序包的推送后,更新客戶端記錄表中推送標志為完成。本發(fā)明的有益效果在于:一、本發(fā)明采用業(yè)務(wù)系統(tǒng)注冊機制來管理登錄的業(yè)務(wù)系統(tǒng),采用業(yè)務(wù)系統(tǒng)服務(wù)器ip白名單的方式來對密鑰的獲取進行限制。既可以防止惡意人員獲取客戶端登錄程序包進行cookie破解、密鑰偷取等操作,又可以進行系統(tǒng)單點登錄的監(jiān)控管理、白名單控制等,可有效提高單點登錄系統(tǒng)的登錄安全系數(shù)。二、本發(fā)明由登錄系統(tǒng)管理人員動態(tài)管理密鑰列表,業(yè)務(wù)系統(tǒng)定時獲取到登錄系統(tǒng)的密鑰列表,而業(yè)務(wù)系統(tǒng)的開發(fā)人員并不會知曉,因此進一步提高了業(yè)務(wù)系統(tǒng)的安全性。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進 等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁12