本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種認證切換方法。
背景技術(shù):
AAA認證,主要是一種管理客戶端訪問網(wǎng)絡(luò)服務(wù)器的安全系統(tǒng),其安全功能主要包括如下:驗證(Authentication):驗證用戶是否可以獲得訪問權(quán)限;授權(quán)(Authorization):授權(quán)用戶可以使用哪些服務(wù);記賬(Accounting):記錄用戶使用網(wǎng)絡(luò)資源的情況;AAA認證系統(tǒng)一般采用的是C/S架構(gòu)(客戶端/服務(wù)器架構(gòu)),因此運行于客戶端上的AAA程序?qū)τ诳蛻舳藙t為服務(wù)端,而對于服務(wù)器則為客戶端;AAA認證提供了對驗證、授權(quán)、記賬這三種安全功能進行配置的管理框架,現(xiàn)有技術(shù)中對用戶客戶端的這三種安全功能進行認證時,通常都會使用不同的安全方法,即提供不同的服務(wù)器進行認證,在對客戶端發(fā)送的認證請求進行認證操作時,AAA客戶端每次只能對接收的一個客戶端發(fā)送的認證請求進行認證操作,并且在認證過程中,不能實現(xiàn)服務(wù)器的自動切換認證,因此在客戶端較多的情況下,則會形成客戶端長時間等待認證的問題。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中對客戶端發(fā)送的認證請求進行認證時存在的上述問題,現(xiàn)提供一種旨在實現(xiàn)對多個客戶端的認證請求進行認證,且認證效率更高的認證切換方法。
具體技術(shù)方案如下:
一種認證切換方法,應(yīng)用于AAA認證系統(tǒng),所述AAA認證系統(tǒng)用以提供至少一個客戶端進行認證,其中:
提供一第一服務(wù)端,與所述客戶端連接,用以接收所述客戶端發(fā)送的認證請求;
提供復(fù)數(shù)個第二服務(wù)端,復(fù)數(shù)個所述第二服務(wù)端分別與所述第一服務(wù)端連接,用以可供選擇的對所述客戶端發(fā)送的認證請求進行認證;
所述第一服務(wù)端提供一第一列表,用以儲存所述認證請求;
所述第一服務(wù)端還提供至少一個第二列表,每個所述第二列表用以儲存一個所述認證請求對應(yīng)的所述第二服務(wù)端,并與對應(yīng)的所述認證請求建立關(guān)聯(lián);
所述認證切換方法還包括:
步驟S1、所述第一服務(wù)端于所述第一列表中獲取所述認證請求;
步驟S2、所述第一服務(wù)端根據(jù)所述認證請求獲取所述認證請求對應(yīng)的所述第二列表;
步驟S3、所述第一服務(wù)端于所述第二列表中以一預(yù)設(shè)順序選取一未進行認證的所述第二服務(wù)端,并將所述認證請求發(fā)送至選取的所述第二服務(wù)端進行認證;
步驟S4、所述第二服務(wù)端如對所述認證請求認證成功,則返回一認證成功信息至所述第一服務(wù)端,所述第一服務(wù)端根據(jù)所述認證成功信息,釋放當(dāng)前的所述第二服務(wù)端并返回所述步驟S1,如認證失敗則返回一認證失敗信息至所述第一服務(wù)端,并執(zhí)行步驟S5;
步驟S5、返回執(zhí)行步驟S3,直到當(dāng)前所述認證請求對應(yīng)的所有所述第二服務(wù)端認證均失敗后,返回步驟S1。
優(yōu)選的,所述第一列表中所述認證請求的儲存順序為根據(jù)所述第一服務(wù)端接收所述客戶端發(fā)送的所述認證請求的時間順序,時間早的儲存在前,時間晚的儲存在后。
優(yōu)選的,所述第一服務(wù)端接收所述客戶端發(fā)送的所述認證請求后,對所述認證請求進行解析,以獲得解析結(jié)果,根據(jù)所述解析結(jié)果,將所述認證請求儲存至所述第一列表,將于所述認證請求對應(yīng)的所述第二服務(wù)端儲存至一所述第二列表,并于所述第一列表中建立所述認證請求與對應(yīng)的所述第二列表的關(guān)聯(lián)。
優(yōu)選的,所述步驟S3中,如所述認證請求發(fā)送至選中的所述第二服務(wù)端后,超過一預(yù)設(shè)時間所述第二服務(wù)端未響應(yīng),則執(zhí)行所述步驟S5。
優(yōu)選的,所述預(yù)設(shè)時間為1分鐘。
優(yōu)選的,所述第一服務(wù)端將每個所述認證成功信息或者所述認證失敗信息,返回至對應(yīng)的所述客戶端。
優(yōu)選的,所述第一列表以鏈表的形式儲存。
優(yōu)選的,所述第二列表以鏈表的形式儲存。
優(yōu)選的,所述第二服務(wù)端為認證服務(wù)器。
優(yōu)選的,所述認證服務(wù)器包括Radius(RADIUS是一種用于在需要認證其鏈接的網(wǎng)絡(luò)訪問服務(wù)器(NAS)和共享認證服務(wù)器之間進行認證、授權(quán)和記帳信息的文檔協(xié)議)服務(wù)器、Tacacs+(Terminal Access Controller Access Control System,終端訪問控制器控制系統(tǒng)協(xié)議)服務(wù)器。
上述技術(shù)方案具有如下優(yōu)點或有益效果:能實現(xiàn)對多個客戶端的認證請求同時進行認證,使得認證效率更高,克服了現(xiàn)有技術(shù)中只能逐個對客戶端發(fā)送的認證請求進行認證的缺陷。
附圖說明
參考所附附圖,以更加充分的描述本發(fā)明的實施例。然而,所附附圖僅用于說明和闡述,并不構(gòu)成對本發(fā)明范圍的限制。
圖1為本發(fā)明一種認證切換方法實施例的流程圖;
圖2為本發(fā)明一種認證切換方法實施例中,關(guān)于一種具體實施例的結(jié)構(gòu)實施意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為本發(fā)明的限定。
本發(fā)明包括一種認證切換方法。
一種認證切換方法的實施例,應(yīng)用于AAA認證系統(tǒng),AAA認證系統(tǒng)用以提供至少一個客戶端進行認證,其中:
提供一第一服務(wù)端,與客戶端連接,用以接收客戶端發(fā)送的認證請求;
提供復(fù)數(shù)個第二服務(wù)端,復(fù)數(shù)個第二服務(wù)端分別與第一服務(wù)端連接,用以可供選擇的對客戶端發(fā)送的認證請求進行認證;
第一服務(wù)端提供一第一列表,用以儲存認證請求;
第一服務(wù)端還提供至少一個第二列表,每個第二列表用以儲存一個認證請求對應(yīng)的第二服務(wù)端,并與對應(yīng)的認證請求建立關(guān)聯(lián);
如圖1所示,認證切換方法還包括:
步驟S1、第一服務(wù)端于第一列表中獲取認證請求;
步驟S2、第一服務(wù)端根據(jù)認證請求獲取認證請求對應(yīng)的第二列表;
步驟S3、第一服務(wù)端于第二列表中以一預(yù)設(shè)順序選取一未進行認證的第二服務(wù)端,并將認證請求發(fā)送至選取的第二服務(wù)端進行認證;
步驟S4、第二服務(wù)端如對認證請求認證成功,則返回一認證成功信息至第一服務(wù)端,第一服務(wù)端根據(jù)認證成功信息,釋放當(dāng)前的第二服務(wù)端并返回步驟S1,如認證失敗則返回一認證失敗信息至第一服務(wù)端,并執(zhí)行步驟S5;
步驟S5、返回執(zhí)行步驟S3,直到當(dāng)前認證請求對應(yīng)的所有第二服務(wù)端認證均失敗后,返回步驟S1。
在認證過程中,通常會存在多個客戶端,每個客戶端都會向第一服務(wù)端發(fā)送認證請求,現(xiàn)有技術(shù)中的第一服務(wù)端只能對客戶端發(fā)送的認證請求,逐次接收進行驗證,因而會造成后續(xù)的客戶端等待時間超長的問題;
上述技術(shù)方案,通過第一服務(wù)端將將客戶端發(fā)送的認證請求統(tǒng)一保存于第一列表中,進而克服了客戶端發(fā)送認證請求時存在的等待時間較長問題,通過第二列表可將認證請求對應(yīng)的第二服務(wù)端儲存,其中第二列表中的第二服務(wù)端與認證請求關(guān)聯(lián);
對第一列表中的認證請求進行認證的具體操作為,通過第一服務(wù)端于第一列表中獲取認證請求,其中獲取規(guī)則可按照第一列表中認證請求的排列順序獲取,服務(wù)端根據(jù)認證請求獲取與認證請求對應(yīng)的第二列表,并根據(jù)第二列表將認證請求發(fā)送至第二列表中未進行認證的第二服務(wù)端中進行認證,其中于第二列表中選擇第二服務(wù)端時,可按照服務(wù)端于第二列表中的排列順序;
第二服務(wù)端于接收到認證請求后,對認證請求進行認證,如驗證成功則發(fā)送認證成功信息至第一客戶端,第一服務(wù)端接收到驗證成功信息后,釋放當(dāng)前認證的第二客戶端,并于第一列表中繼續(xù)獲取未認證的認證請求,繼續(xù)上述的驗證操作;
如第二服務(wù)驗證失敗,則發(fā)送驗證失敗信息至第一客戶端,第一客戶端則根據(jù)第二列表將認證請求發(fā)送至未認證的第二服務(wù)端,進行認證,如過驗證成功則執(zhí)行上述的驗證成功操作,如驗證失敗則于第二列表中繼續(xù)選擇未驗證的第二服務(wù)端進行驗證,如過第二列表中的第二服務(wù)端均驗證失敗,則于第一列表中繼續(xù)選擇一為認證的認證請求,執(zhí)行最初始的驗證,直到所有的認證請求驗證完畢。
在一種較優(yōu)的實施方式,第一列表中認證請求的儲存順序為根據(jù)第一服務(wù)端接收客戶端發(fā)送的認證請求的時間順序,通過將時間早認證請求的儲存在前,時間晚的儲存在后,從而可減少客戶端發(fā)送認證請求的等待時間。
在一種較優(yōu)的實施方式,第一服務(wù)端接收客戶端發(fā)送的認證請求后,對認證請求進行解析,以獲得解析結(jié)果,根據(jù)解析結(jié)果,將認證請求儲存至第一列表,將于認證請求對應(yīng)的第二服務(wù)端儲存至一第二列表,并于第一列表中建立認證請求與對應(yīng)的第二列表的關(guān)聯(lián)。
在一種較優(yōu)的實施方式,步驟S3中,如認證請求發(fā)送至選中的第二服務(wù)端后,超過一預(yù)設(shè)時間第二服務(wù)端未響應(yīng),則執(zhí)行步驟S5。
在一種較優(yōu)的實施方式,預(yù)設(shè)時間為1分鐘。
上述技術(shù)方案中,第一服務(wù)端將認證請求發(fā)送至第二服務(wù)端后,若此時的第二服務(wù)端長時間未響應(yīng),則會造成第一服務(wù)端長時間的等待,嚴重影響了對認證請求的處理效率,因此第一服務(wù)端提供一預(yù)設(shè)時間,如在預(yù)設(shè)時間內(nèi)第二服務(wù)端未響應(yīng)則視為當(dāng)前的第二服務(wù)端認證失敗,則繼續(xù)將認證請求切換至下一第二服務(wù)端對認證請求進行認證,提高了認證的效率。
在一種較優(yōu)的實施方式,第一服務(wù)端將每個認證成功信息或者認證失敗信息,返回至對應(yīng)的客戶端。
上述技術(shù)方案中,第一服務(wù)端通過將驗證請求對應(yīng)的驗證結(jié)果如認證成功信息或者認證失敗信息,返回至客戶端,方便客戶端及時的了解認證結(jié)果。
在一種較優(yōu)的實施方式,第一列表以鏈表的形式儲存。
在一種較優(yōu)的實施方式,第二列表以鏈表的形式儲存。
在一種較優(yōu)的實施方式,第二服務(wù)端為認證服務(wù)器。
在一種較優(yōu)的實施方式,認證服務(wù)器包括Radius服務(wù)器、Tacacs+服務(wù)器。
以下以一種具體的實施方式進行說明,如圖2所示,在第二服務(wù)端為Radius服務(wù)器2,Tacacs+服務(wù)器3的實施例下;
通常的客戶端存在有多個,如客戶端A、客戶端B、客戶端C,第一服務(wù)端1分別接收客戶端A、客戶端B、客戶端C發(fā)送的認證請求,
分別對每個客戶端的對認證請求進行解析,以獲得解析結(jié)果,并根據(jù)解析結(jié)果,將每個客戶端的認證請求按照接收客戶端發(fā)送的認證請求的時間順序,保存于第一列表中其中第一列表中的認證請求排列的順序依次為客戶端A、客戶端B、客戶端C對應(yīng)的認證請求,其中第二列表中的第二服務(wù)端的排列順序為Radius服務(wù)器,Tacacs+服務(wù)器,并且每個客戶端的認證請求與第二列表中的Radius服務(wù)器2、Tacacs+服務(wù)器3所關(guān)聯(lián);
對第一列表中的認證請求進行驗證的具體操作為
第一服務(wù)端1按照順序于第一列表中獲取客戶端A的認證請求,并根據(jù)第二列表將認證請求發(fā)送至Radius服務(wù)器2;
如果Radius服務(wù)器2認證成功,則返回認證成功信息至第一服務(wù)端1,第一服務(wù)端1則釋放當(dāng)前的Radius服務(wù)器2,并于第一列表中獲取下一客戶端的認證請求即客戶端B的認證請,繼續(xù)執(zhí)行上述的認證操作;
如果當(dāng)前的Radius服務(wù)器2認證失敗則,則返回認證失敗信息至第一服務(wù)端1,第一服務(wù)端1根據(jù)第二列表,將該認證請求發(fā)送至第二列表中的Tacacs+服務(wù)器3,如果Tacacs+服務(wù)器3認證成功則執(zhí)行上述的認證成功做操作,如認證失敗,此時第二列表中的服務(wù)器均已經(jīng)驗證,則于第一列表中切換至下一服務(wù)信息即客戶端B的認證請求繼續(xù)執(zhí)行上述的認證操作,直到第一列表中的客戶端A、客戶端B、客戶端C對應(yīng)的認證請求全部驗證完畢,退出驗證操作。
以上所述僅為本發(fā)明較佳的實施例,并非因此限制本發(fā)明的實施方式及保護范圍,對于本領(lǐng)域技術(shù)人員而言,應(yīng)當(dāng)能夠意識到凡運用本發(fā)明說明書及圖示內(nèi)容所作出的等同替換和顯而易見的變化所得到的方案,均應(yīng)當(dāng)包含在本發(fā)明的保護范圍內(nèi)。