1.一種適用于在線身份認(rèn)證的流控機制,其特征在于,包括如下步驟:
S101.業(yè)務(wù)服務(wù)器在客戶端瀏覽器打開業(yè)務(wù)首頁時,生成鎖定該客戶端瀏覽器的主SessionID,并創(chuàng)建與所述主SessionID對應(yīng)的主Session對象,然后一方面將所述主SessionID反饋至該客戶端瀏覽器,另一方面將所述主SessionID及對應(yīng)的所述主Session對象傳送至流控寄存服務(wù)器,由流控寄存服務(wù)器按照如下第一方式進行托管:存儲所述主Session對象,然后將所述主SessionID和所述主Session對象的第一存儲地址添加到讀寫白名單表中,然后在成功驗證該客戶端瀏覽器的身份憑證后且在所述主Session對象銷毀前,許可該客戶端瀏覽器通過業(yè)務(wù)服務(wù)器間接地對所述讀寫白名單表進行查表,并在使用所述主SessionID獲取對應(yīng)的所述第一存儲地址后,根據(jù)所述第一存儲地址對所述主Session對象進行數(shù)據(jù)讀取和/或數(shù)據(jù)寫入;
S102.認(rèn)證服務(wù)器在該客戶端瀏覽器打開登錄頁面時,生成鎖定該客戶端瀏覽器的認(rèn)證SessionID,并創(chuàng)建與所述認(rèn)證SessionID對應(yīng)的認(rèn)證Session對象,然后一方面將所述認(rèn)證SessionID反饋至該客戶端瀏覽器,另一方面將所述認(rèn)證SessionID及對應(yīng)的所述認(rèn)證Session對象傳送至流控寄存服務(wù)器,由流控寄存服務(wù)器按照如下第二方式進行托管:存儲所述認(rèn)證Session對象,然后將所述認(rèn)證SessionID和所述認(rèn)證Session對象的第二存儲地址添加到所述讀寫白名單表中,并在表中關(guān)聯(lián)所述主SessionID和所述認(rèn)證SessionID,然后在成功驗證該客戶端瀏覽器的身份憑證后且在所述認(rèn)證Session對象銷毀前,許可該客戶端瀏覽器通過認(rèn)證服務(wù)器間接地對所述讀寫白名單表進行查表,并在使用所述認(rèn)證SessionID獲取對應(yīng)的所述第二存儲地址后,根據(jù)所述第二存儲地址對所述認(rèn)證Session對象進行數(shù)據(jù)讀?。?/p>
S103.業(yè)務(wù)服務(wù)器在首次成功驗證該客戶端瀏覽器的身份憑證后,生成鎖定該客戶端瀏覽器的Cookies內(nèi)容,然后將所述Cookies內(nèi)容傳送至流控寄存服務(wù)器,由流控寄存服務(wù)器按照如下第三方式進行托管:一方面應(yīng)用摘要算法獲取所述Cookies內(nèi)容的第一摘要,然后使用簽名私鑰對所述第一摘要進行數(shù)字簽名,得到所述Cookies內(nèi)容的摘要密文,最后在保存所述Cookie內(nèi)容及驗簽公鑰的臨時對應(yīng)關(guān)系后,將封裝有所述Cookies內(nèi)容和所述摘要密文的Cookies對象通過業(yè)務(wù)服務(wù)器反饋至該客戶端瀏覽器,其中,所述簽名私鑰和所述驗簽公鑰為一對非對稱公私鑰,另一方面使用所述驗簽公鑰對來自業(yè)務(wù)服務(wù)器且由該客戶端瀏覽器上傳的Cookies對象進行驗簽,若驗簽通過,則向業(yè)務(wù)服務(wù)器反饋對該客戶端瀏覽器的身份憑證二次認(rèn)證成功信息,否則向業(yè)務(wù)服務(wù)器反饋對該客戶端瀏覽器的身份憑證二次認(rèn)證失敗信息。
2.如權(quán)利要求1所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,在所述第一方式托管中還包括:在客戶端瀏覽器關(guān)閉時或在所述主Session對象的閑置時長超過預(yù)設(shè)閾值時,銷毀所述主Session對象,并在所述讀寫白名單表中清除所述主SessionID和所述主Session對象的第一存儲地址。
3.如權(quán)利要求1所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,在所述第二方式托管中還包括:在首次成功驗證該客戶端瀏覽器的身份憑證后,使所述認(rèn)證Session對象處于寫鎖定狀態(tài)。
4.如權(quán)利要求1所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,在所述第二方式托管中還包括:在所述主Session對象被銷毀時或在該客戶端瀏覽器退出登錄時,銷毀所述認(rèn)證Session對象,并在所述讀寫白名單表中清除所述認(rèn)證SessionID和所述認(rèn)證Session對象的第二存儲地址。
5.如權(quán)利要求1所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,在所述第三方式托管中的驗簽步驟包括如下:一方面應(yīng)用摘要算法獲取所述Cookies對象中Cookies內(nèi)容的第二摘要,另一方面根據(jù)所述Cookies對象中Cookies內(nèi)容從所述臨時對應(yīng)關(guān)系中查找到對應(yīng)的所述驗簽公鑰,然后使用所述驗簽公鑰對所述Cookies對象中摘要密文進行解密,得到解密摘要,最后對比兩份摘要是否相同,若相同,則驗簽通過,否則驗簽不通過。
6.如權(quán)利要求1所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,根據(jù)客戶端瀏覽器的瀏覽器信息和打開相應(yīng)頁面的時間戳生成鎖定該客戶端瀏覽器的主SessionID和/或認(rèn)證SessionID,其中,所述瀏覽器信息包含瀏覽器類型和版本號。
7.如權(quán)利要求1所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,在所述步驟S103之后還包括步驟如下:
S104.業(yè)務(wù)服務(wù)器在認(rèn)證服務(wù)器發(fā)起數(shù)據(jù)同步請求時,生成數(shù)據(jù)同步SessionID,并創(chuàng)建與所述數(shù)據(jù)同步SessionID對應(yīng)的數(shù)據(jù)同步Session對象,然后一方面將所述數(shù)據(jù)同步SessionID反饋至該認(rèn)證服務(wù)器,另一方面將所述數(shù)據(jù)同步SessionID及對應(yīng)的所述數(shù)據(jù)同步Session對象傳送至流控寄存服務(wù)器,由流控寄存服務(wù)器按照如下第四方式進行托管:存儲所述數(shù)據(jù)同步Session對象,然后將所述數(shù)據(jù)同步SessionID和所述數(shù)據(jù)同步Session對象的第四存儲地址添加到所述讀寫白名單表中,并在表中關(guān)聯(lián)所述主SessionID和所述數(shù)據(jù)同步SessionID,然后在所述數(shù)據(jù)同步Session對象銷毀前,許可業(yè)務(wù)服務(wù)器對所述讀寫白名單表進行查表,并在使用所述數(shù)據(jù)同步SessionID獲取對應(yīng)的所述第四存儲地址后,根據(jù)所述第四存儲地址對所述數(shù)據(jù)同步Session對象進行一次數(shù)據(jù)讀取。
8.如權(quán)利要求7所述的一種適用于在線身份認(rèn)證的流控機制,其特征在于,在所述第四方式托管中還包括:在業(yè)務(wù)服務(wù)器與該認(rèn)證服務(wù)器之間完成數(shù)據(jù)同步后,銷毀所述數(shù)據(jù)同步Session對象,并在所述讀寫白名單表中清除所述數(shù)據(jù)同步SessionID和所述數(shù)據(jù)同步Session對象的第四存儲地址。