本發(fā)明屬計(jì)算機(jī)應(yīng)用領(lǐng)域,更準(zhǔn)確的說本發(fā)明提供一種用于系統(tǒng)集成中跨域單點(diǎn)登錄系統(tǒng)及方法。
背景技術(shù):
系統(tǒng)集成時(shí)需要將多個(gè)獨(dú)立子系統(tǒng)集中管理,子系統(tǒng)之間單獨(dú)開發(fā),每個(gè)子系統(tǒng)都使用各自的登錄功能,因此用戶在多個(gè)子系統(tǒng)間切換時(shí),需要多次輸入用戶名和密碼,這嚴(yán)重地影響了用戶的使用體驗(yàn),同時(shí)也給用戶帶來管理眾多賬號(hào)密碼的壓力。
單點(diǎn)登錄技術(shù)就是為了解決上述系統(tǒng)集成時(shí)存在的需要多次輸入用戶名和密碼、給用戶帶來管理眾多賬號(hào)密碼的壓力等問題,使用戶在系統(tǒng)平臺(tái)下的任一子系統(tǒng)登錄后,再訪問其他子系統(tǒng)時(shí),無需再輸入用戶名和密碼。該技術(shù)將身份驗(yàn)證和權(quán)限管理的工作全部交由單點(diǎn)登錄服務(wù)完成,這樣保證了用戶的認(rèn)證工作全部在后臺(tái)實(shí)現(xiàn),對(duì)用戶靜默,實(shí)現(xiàn)了系統(tǒng)間無縫切換,這極大地提升了用戶的使用體驗(yàn)。
在系統(tǒng)集成時(shí),既存在一些已使用很久的老系統(tǒng),也存在新開發(fā)的系統(tǒng)。在集成這些系統(tǒng)時(shí)會(huì)存在以下問題:
(1)有的系統(tǒng)已具備登錄功能,有的系統(tǒng)并沒有登錄入口。
(2)不同子系統(tǒng)可能部署在不同域下。
(3)不同子系統(tǒng)可能使用不同的開發(fā)語言實(shí)現(xiàn)開發(fā)。
另外系統(tǒng)還存在維護(hù)方已不再維護(hù)的情況,無法更改源代碼,因此研究開發(fā)一種支持跨域、跨開發(fā)平臺(tái)且使用簡單、不侵入原有系統(tǒng)的單點(diǎn)登錄方法尤為重要。本發(fā)明就是基于這種需求而開發(fā)的一種面向系統(tǒng)集成的跨域單點(diǎn)登錄方法。
經(jīng)初步檢索,暫未發(fā)現(xiàn)有與本
技術(shù)實(shí)現(xiàn)要素:
相關(guān)的專利條目。
發(fā)明內(nèi)容
鑒于以上系統(tǒng)集成中遇到的問題,本發(fā)明借助訪問代理和模擬登錄,提供一種面向系統(tǒng)集成的跨域單點(diǎn)登錄系統(tǒng)及方法,該系統(tǒng)配置簡單、不侵入原系統(tǒng)代碼,且支持跨域分布在多個(gè)域名下的系統(tǒng)均能實(shí)現(xiàn)無縫訪問,因此特別適用于跨域、跨開發(fā)平臺(tái)的系統(tǒng)集成需求。另外該方法還具有適用于高并發(fā)場景、支持免登陸的特性。
本發(fā)明在每個(gè)系統(tǒng)上部署訪問代理服務(wù)器,訪問代理服務(wù)器與系統(tǒng)在同一域名之下,且不侵入原有系統(tǒng)代碼、不更改原有系統(tǒng)配置。用戶向系統(tǒng)發(fā)出的請(qǐng)求首先需要通過訪問代理服務(wù)器,由訪問代理服務(wù)器負(fù)責(zé)處理請(qǐng)求的工作,但用戶并無法感知到訪問代理服務(wù)器的存在。
當(dāng)用戶首次向系統(tǒng)發(fā)出訪問請(qǐng)求時(shí),訪問代理服務(wù)器將用戶訪問的資源重定向到單點(diǎn)登錄服務(wù)器的統(tǒng)一登錄界面,用戶輸入正確的用戶名和密碼之后,單點(diǎn)登錄服務(wù)器的授權(quán)碼生成模塊授予該用戶唯一授權(quán)碼,該授權(quán)碼用于其他系統(tǒng)校驗(yàn)該用戶是否成功登錄。
單點(diǎn)登錄系統(tǒng)部署時(shí),需要為每個(gè)系統(tǒng)設(shè)置登錄接口。登錄接口分為兩種,第一種是系統(tǒng)原生登錄接口,自帶登錄功能的系統(tǒng)必須設(shè)置這種接口;另外一種為訪問代理服務(wù)中的登錄接口,全部系統(tǒng)都需要設(shè)置這種接口。當(dāng)用戶成功登錄后,單點(diǎn)登錄服務(wù)器返回登錄成功界面,在該界面完成模擬登錄操作,該操作對(duì)用戶不可見。成功登錄界面,會(huì)生成數(shù)個(gè)不可見的iframe框架,該框架的url為單點(diǎn)登錄服務(wù)器根據(jù)用戶信息和子系統(tǒng)登錄接口生成。當(dāng)所有iframe訪問成功后,界面會(huì)自動(dòng)跳轉(zhuǎn)到用戶請(qǐng)求的url。url為第二種登錄接口的iframe,會(huì)攜帶授權(quán)碼向代理訪問層發(fā)出請(qǐng)求,代理訪問層根據(jù)請(qǐng)求信息,使用加密通道再次向單點(diǎn)登錄服務(wù)器發(fā)出驗(yàn)證請(qǐng)求,驗(yàn)證成功后生成帶有授權(quán)碼信息的cookie并將登錄信息以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存在本機(jī)。
用戶再次訪問該系統(tǒng)或其他系統(tǒng)時(shí),發(fā)出的請(qǐng)求會(huì)攜帶授權(quán)碼,代理服務(wù)層將該授權(quán)碼與自身保存的授權(quán)碼進(jìn)行比對(duì)。當(dāng)相同時(shí),代理服務(wù)層轉(zhuǎn)發(fā)此次請(qǐng)求到子系統(tǒng);當(dāng)不同時(shí),則請(qǐng)求重定向到統(tǒng)一登錄界面;當(dāng)不存在時(shí),使用加密通道向單點(diǎn)登錄服務(wù)發(fā)起驗(yàn)證請(qǐng)求。
用戶向系統(tǒng)發(fā)出的請(qǐng)求,訪問代理服務(wù)驗(yàn)證通過后,將該請(qǐng)求發(fā)送給其代理的系統(tǒng),并將系統(tǒng)的回復(fù)信息全部返還給用戶。
本發(fā)明提供的是這樣一種面向系統(tǒng)集成的跨域單點(diǎn)登錄系統(tǒng),其特征在于,包括:
終端,用于向各子系統(tǒng)發(fā)送請(qǐng)求;
訪問代理服務(wù)器,部署在子系統(tǒng)前,并與子系統(tǒng)處于同一頂級(jí)域下,用于全權(quán)處理和轉(zhuǎn)發(fā)一切發(fā)往子系統(tǒng)的請(qǐng)求;
單點(diǎn)登錄服務(wù)器,包括統(tǒng)一登錄接口、授權(quán)碼生成模塊、授權(quán)碼管理模塊、模擬登錄模塊,其中:統(tǒng)一登錄接口用于完成用戶名、密碼登錄或免登陸,并將登錄信息發(fā)送到模擬登錄模塊;授權(quán)碼生成模塊用于生成唯一授權(quán)碼;授權(quán)碼管理模塊用于保存用戶名、授權(quán)碼、生成時(shí)間、存儲(chǔ)時(shí)間,同時(shí)用于啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,還用于對(duì)訪問代理服務(wù)器提出的驗(yàn)證請(qǐng)求,對(duì)帶有授權(quán)碼信息的cookie進(jìn)行驗(yàn)證;模擬登錄模塊用于向用戶展示登錄成功界面,并在登錄成功界面生成數(shù)個(gè)不可見的iframe框架。
所述訪問代理服務(wù)器通過任一編程語言實(shí)現(xiàn),且不侵入子系統(tǒng)及其配置;訪問代理服務(wù)器可以在不關(guān)閉子系統(tǒng)的情況下部署,部署前需要在其配置文件中配置子系統(tǒng)的編碼、二級(jí)域名、單點(diǎn)登錄服務(wù)地址等配置項(xiàng);訪問代理服務(wù)器部署后,對(duì)外公開的子系統(tǒng)地址就改為代理訪問層地址。
所述單點(diǎn)登錄服務(wù)器部署時(shí),為每個(gè)系統(tǒng)設(shè)置單獨(dú)的登錄接口,登錄接口分為兩種,第一種是系統(tǒng)原生登錄接口,自帶登錄功能的系統(tǒng)必須設(shè)置這種接口;另外一種為訪問代理服務(wù)器中的登錄接口,全部系統(tǒng)都需要設(shè)置這種接口。
所述iframe框架的url為第二種登錄接口的iframe,會(huì)攜帶授權(quán)碼向代理訪問層發(fā)出請(qǐng)求,代理訪問層根據(jù)請(qǐng)求信息,生成帶有授權(quán)碼信息的cookie。
本發(fā)明提供的是這樣一種基于面向系統(tǒng)集成的跨域單點(diǎn)登錄系統(tǒng)進(jìn)行跨域單點(diǎn)登錄的方法,其特征在于:
所述面向系統(tǒng)集成的跨域單點(diǎn)登錄系統(tǒng)包括:
終端,用于向各子系統(tǒng)發(fā)送請(qǐng)求;
訪問代理服務(wù)器,部署在子系統(tǒng)前,并與子系統(tǒng)處于同一頂級(jí)域下,用于全權(quán)處理和轉(zhuǎn)發(fā)一切發(fā)往子系統(tǒng)的請(qǐng)求;
單點(diǎn)登錄服務(wù)器,包括統(tǒng)一登錄接口、授權(quán)碼生成模塊、授權(quán)碼管理模塊、模擬登錄模塊,其中:統(tǒng)一登錄接口用于完成用戶名、密碼登錄或免登陸,并將登錄信息發(fā)送到模擬登錄模塊;授權(quán)碼生成模塊用于生成唯一授權(quán)碼;授權(quán)碼管理模塊用于保存用戶名、授權(quán)碼、生成時(shí)間、存儲(chǔ)時(shí)間,同時(shí)用于啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,還用于對(duì)訪問代理服務(wù)器提出的驗(yàn)證請(qǐng)求,對(duì)帶有授權(quán)碼信息的cookie進(jìn)行驗(yàn)證;模擬登錄模塊用于向用戶展示登錄成功界面,并在登錄成功界面生成數(shù)個(gè)不可見的iframe框架;
所述基于上述系統(tǒng)進(jìn)行跨域單點(diǎn)登錄的方法,包括:
用戶通過終端向子系統(tǒng)發(fā)起請(qǐng)求時(shí),首先由訪問代理服務(wù)器接受到該請(qǐng)求;
訪問代理服務(wù)器將該請(qǐng)求轉(zhuǎn)發(fā)給子系統(tǒng)的同時(shí),重定向到單點(diǎn)登錄服務(wù)器的統(tǒng)一登錄界面,并通過統(tǒng)一登錄接口完成下列登錄:
1)填寫用戶名、密碼、是否免登陸;
2)向授權(quán)碼生成模塊請(qǐng)求唯一授權(quán)碼,授權(quán)碼生成模塊使用guid生成唯一授權(quán)碼后,由授權(quán)碼管理模塊以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存,并啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,同時(shí)由統(tǒng)一登錄接口將登錄信息發(fā)送到模擬登錄模塊,該模擬登錄模塊以網(wǎng)頁形式向用戶展示登錄成功界面,并在登錄成功界面生成數(shù)個(gè)不可見的iframe框架,在這些iframe框架中進(jìn)行模擬登錄;
3)登錄成功后,由單點(diǎn)登錄服務(wù)器向訪問代理服務(wù)器和子系統(tǒng)發(fā)送登錄信息,登錄信息包括用戶信息和授權(quán)碼;
4)子系統(tǒng)收到步驟3)的登錄信息并處理后,發(fā)送回復(fù)信息給訪問代理服務(wù)器,訪問代理服務(wù)器將子系統(tǒng)的回復(fù)經(jīng)終端轉(zhuǎn)發(fā)給用戶;訪問代理服務(wù)器收到登錄信息后,需要對(duì)登錄信息進(jìn)行驗(yàn)證,通過驗(yàn)證后即將登錄信息保存在子系統(tǒng)中,沒有通過驗(yàn)證的返回到統(tǒng)一登錄界面。
所述步驟1)的免登錄設(shè)置保證30天內(nèi)的免登陸。
所述步驟2)的在這些iframe框架中進(jìn)行模擬登錄具體是:
2-1)從數(shù)據(jù)庫中獲取用戶具有訪問權(quán)限的子系統(tǒng)信息;
2-2)生成數(shù)個(gè)不可見的iframe框架,當(dāng)所有iframe框架訪問完成后,界面自動(dòng)跳轉(zhuǎn)到用戶請(qǐng)求的url,url攜帶授權(quán)碼向訪問代理服務(wù)器發(fā)出請(qǐng)求,訪問代理服務(wù)器根據(jù)請(qǐng)求信息,生成帶有授權(quán)碼信息的cookie;
2-3)帶有授權(quán)碼信息的cookie是使用未加密方式獲得的,需要向單點(diǎn)登錄服務(wù)器進(jìn)行下列驗(yàn)證:訪問代理服務(wù)器使用rpc協(xié)議并加密地向授權(quán)碼管理模塊進(jìn)行驗(yàn)證,當(dāng)驗(yàn)證通過時(shí),以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存,并啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,若沒有通過驗(yàn)證則拋棄該授權(quán)碼并重定向到統(tǒng)一登錄界面。
所述步驟4)的訪問代理服務(wù)器收到登錄信息后,需要對(duì)登錄信息進(jìn)行下列驗(yàn)證:
4-1)訪問代理服務(wù)器使用rpc協(xié)議以加密的方式向單點(diǎn)登錄服務(wù)器的授權(quán)碼管理模塊發(fā)出驗(yàn)證請(qǐng)求;
4-2)驗(yàn)證通過時(shí)以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存,然后啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,若沒有通過驗(yàn)證則拋棄該授權(quán)碼并重定向到統(tǒng)一登錄界面。
所述用戶通過終端訪問另外的第二或第三、第四……第n個(gè)子系統(tǒng)時(shí),進(jìn)行下列登錄:
(1)用戶通過終端向另外的子系統(tǒng)發(fā)出請(qǐng)求,該請(qǐng)求中攜帶授權(quán)碼,由訪問代理服務(wù)器首先提取該請(qǐng)求中的授權(quán)碼,并驗(yàn)證該授權(quán)碼的合法性;
(2)授權(quán)碼不合法,或者授權(quán)碼不存在,需要使用rpc協(xié)議并加密地向單點(diǎn)登錄服務(wù)器的授權(quán)碼管理模塊發(fā)出驗(yàn)證請(qǐng)求,驗(yàn)證通過后,以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式,讓訪問代理服務(wù)器保存該登錄信息,同時(shí)轉(zhuǎn)發(fā)驗(yàn)證后的登錄信息到子系統(tǒng),經(jīng)子系統(tǒng)處理后,發(fā)送回復(fù)信息給訪問代理服務(wù)器;若沒有通過驗(yàn)證則將重定向到統(tǒng)一登錄界面;
(3)訪問代理服務(wù)器將子系統(tǒng)的回復(fù)通過終端轉(zhuǎn)發(fā)給用戶。
本發(fā)明基于訪問代理和模擬登錄的方法,在不侵入系統(tǒng)代碼、不更改系統(tǒng)設(shè)置的情況下,就能實(shí)現(xiàn)跨域、跨開發(fā)平臺(tái)的單點(diǎn)登錄,并且還具有適用于高并發(fā)場景、支持免登陸的特性。通過在子系統(tǒng)前部署訪問代理服務(wù)器,全權(quán)負(fù)責(zé)子系統(tǒng)的請(qǐng)求轉(zhuǎn)發(fā)與處理。當(dāng)用戶訪問子系統(tǒng)時(shí),訪問代理服務(wù)器將請(qǐng)求重定向到統(tǒng)一登錄界面,用戶成功登錄后,生成唯一授權(quán)碼。通過使用模擬登錄的方式,將授權(quán)碼及登錄信息發(fā)送到全部系統(tǒng)。用戶使用授權(quán)碼直接訪問本系統(tǒng)或其他系統(tǒng),無需再次登錄。
附圖說明
圖1為本發(fā)明的訪問代理服務(wù)器與子系統(tǒng)關(guān)系圖;
圖2為本發(fā)明的用戶首次訪問第一個(gè)子系統(tǒng)的流程圖;
圖3為本發(fā)明的單點(diǎn)登錄服務(wù)器的登錄流程圖;
圖4為本發(fā)明的用戶首次登錄其他系統(tǒng)時(shí)的流程圖;
圖5為本發(fā)明的面向系統(tǒng)集成的跨域單點(diǎn)登錄系統(tǒng)。
具體實(shí)施方式:
為更加清晰地描述本發(fā)明的具體實(shí)施過程,下面結(jié)合圖示和實(shí)例來對(duì)本發(fā)明進(jìn)行更加詳細(xì)的說明。
本發(fā)明提供的面向系統(tǒng)集成的跨域單點(diǎn)登錄系統(tǒng),其特征在于,包括:
終端,用于向各子系統(tǒng)發(fā)送請(qǐng)求;
訪問代理服務(wù)器,部署在子系統(tǒng)前,并與子系統(tǒng)處于同一頂級(jí)域下,用于全權(quán)處理和轉(zhuǎn)發(fā)一切發(fā)往子系統(tǒng)的請(qǐng)求;
單點(diǎn)登錄服務(wù)器,包括統(tǒng)一登錄接口、授權(quán)碼生成模塊、授權(quán)碼管理模塊、模擬登錄模塊,其中:統(tǒng)一登錄接口用于完成用戶名、密碼登錄或免登陸,并將登錄信息發(fā)送到模擬登錄模塊;授權(quán)碼生成模塊用于生成唯一授權(quán)碼;授權(quán)碼管理模塊用于保存用戶名、授權(quán)碼、生成時(shí)間、存儲(chǔ)時(shí)間,同時(shí)用于啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,還用于對(duì)訪問代理服務(wù)器提出的驗(yàn)證請(qǐng)求,對(duì)帶有授權(quán)碼信息的cookie進(jìn)行驗(yàn)證;模擬登錄模塊用于向用戶展示登錄成功界面,并在登錄成功界面生成數(shù)個(gè)不可見的iframe框架。
所述訪問代理服務(wù)器通過任一編程語言實(shí)現(xiàn),且不侵入子系統(tǒng)及其配置;訪問代理服務(wù)器可以在不關(guān)閉子系統(tǒng)的情況下部署,部署前需要在其配置文件中配置子系統(tǒng)的編碼、二級(jí)域名、單點(diǎn)登錄服務(wù)地址等配置項(xiàng);訪問代理服務(wù)器部署后,對(duì)外公開的子系統(tǒng)地址就改為代理訪問層地址。
所述單點(diǎn)登錄服務(wù)器部署時(shí),為每個(gè)系統(tǒng)設(shè)置單獨(dú)的登錄接口,登錄接口分為兩種,第一種是系統(tǒng)原生登錄接口,自帶登錄功能的系統(tǒng)必須設(shè)置這種接口;另外一種為訪問代理服務(wù)器中的登錄接口,全部系統(tǒng)都需要設(shè)置這種接口。
所述iframe框架的url為第二種登錄接口的iframe,會(huì)攜帶授權(quán)碼向代理訪問層發(fā)出請(qǐng)求,代理訪問層根據(jù)請(qǐng)求信息,生成帶有授權(quán)碼信息的cookie。
如圖1所示,在子系統(tǒng)前部署訪問代理服務(wù)器,訪問代理服務(wù)器與子系統(tǒng)處于相同域下。訪問代理服務(wù)器通過任一編程語言實(shí)現(xiàn),且不侵入子系統(tǒng),包括不侵入子系統(tǒng)配置。訪問代理服務(wù)器可以在不關(guān)閉子系統(tǒng)的情況下部署,部署前需要在其配置文件中配置子系統(tǒng)的編碼、二級(jí)域名、單點(diǎn)登錄服務(wù)地址等配置項(xiàng)。部署訪問代理服務(wù)器后,對(duì)外公開的子系統(tǒng)地址改為代理訪問層地址。
如圖2、圖3所示,當(dāng)用戶首次訪問第一個(gè)子系統(tǒng)時(shí)的步驟如下:
1)用戶通過終端向第一子系統(tǒng)發(fā)起請(qǐng)求,訪問代理服務(wù)器首先接受到該請(qǐng)求;
2)訪問代理服務(wù)器將該請(qǐng)求轉(zhuǎn)發(fā)給子系統(tǒng);同時(shí)訪問代理服務(wù)器重定向到單點(diǎn)登錄服務(wù)器的統(tǒng)一登錄界面,用戶在該統(tǒng)一登錄界面進(jìn)行下列登錄:
2.1)填寫用戶名、密碼、是否免登陸,其中設(shè)置為免登錄可保證30天內(nèi)的免登陸;
2.2)用戶信息驗(yàn)證通過后,經(jīng)統(tǒng)一登錄接口向授權(quán)碼生成模塊請(qǐng)求唯一授權(quán)碼;
2.3)授權(quán)碼生成模塊使用guid生成唯一授權(quán)碼后,由授權(quán)碼管理模塊以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存,然后啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息;
2.4)同時(shí)由統(tǒng)一登錄接口將登錄信息發(fā)送到模擬登錄模塊,以網(wǎng)頁形式向用戶展示登錄成功界面,并在登錄成功界面生成數(shù)個(gè)不可見的iframe框架,在這些框架中進(jìn)行下列模擬登錄:
2.4-1)從數(shù)據(jù)庫中獲取用戶具有訪問權(quán)限的子系統(tǒng)信息;
2.4-2)生成數(shù)個(gè)不可見的iframe框架,該框架的url為單點(diǎn)登錄服務(wù)根據(jù)用戶信息和具有子系統(tǒng)登錄接口生成;當(dāng)所有iframe框架訪問完成后,界面會(huì)自動(dòng)跳轉(zhuǎn)到用戶請(qǐng)求的url,url為第二種登錄接口的iframe,會(huì)攜帶授權(quán)碼向訪問代理服務(wù)發(fā)出請(qǐng)求,訪問代理服務(wù)根據(jù)請(qǐng)求信息,生成帶有授權(quán)碼信息的cookie;
2.4-3)帶有授權(quán)碼信息的cookie是使用未加密方式獲得的,需要向單點(diǎn)登錄服務(wù)進(jìn)行下列驗(yàn)證:訪問代理服務(wù)使用rpc協(xié)議并加密地向授權(quán)碼管理模塊進(jìn)行驗(yàn)證,當(dāng)驗(yàn)證通過時(shí)以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存,然后啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,若沒有通過驗(yàn)證則拋棄該授權(quán)碼并重定向到統(tǒng)一登錄界面;
3)登錄成功后,由單點(diǎn)登錄服務(wù)向訪問代理服務(wù)和子系統(tǒng)發(fā)送登錄信息,登錄信息包括用戶信息和授權(quán)碼;
4)子系統(tǒng)收到步驟3)的登錄信息并處理后,發(fā)送回復(fù)信息給訪問代理服務(wù)器;
5)訪問代理服務(wù)器將子系統(tǒng)的回復(fù)經(jīng)終端轉(zhuǎn)發(fā)給用戶;
6)訪問代理服務(wù)器收到登錄信息后,需要對(duì)登錄信息進(jìn)行驗(yàn)證,通過驗(yàn)證后即將登錄信息保存在子系統(tǒng)中,沒有通過驗(yàn)證的返回到統(tǒng)一登錄界面;所述驗(yàn)證是:
6-1)訪問代理服務(wù)器使用rpc協(xié)議以加密的方式向單點(diǎn)登錄服務(wù)器的授權(quán)碼管理模塊發(fā)出驗(yàn)證請(qǐng)求;
6-2)驗(yàn)證通過時(shí)以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式保存,然后啟動(dòng)定時(shí)器定時(shí)清理已過時(shí)的用戶登錄信息,若沒有通過驗(yàn)證則拋棄該授權(quán)碼并重定向到統(tǒng)一登錄界面。
如圖4、圖5所示,用戶通過終端訪問另外的第二或第三、第四……第n個(gè)子系統(tǒng)時(shí),進(jìn)行下列登錄:
(1)用戶通過終端向另外的子系統(tǒng)發(fā)出請(qǐng)求,該請(qǐng)求中攜帶授權(quán)碼,由訪問代理服務(wù)器首先提取該請(qǐng)求中的授權(quán)碼,并驗(yàn)證該授權(quán)碼的合法性;
(2)授權(quán)碼不合法,或者授權(quán)碼不存在,需要使用rpc協(xié)議并加密地向單點(diǎn)登錄服務(wù)器的授權(quán)碼管理模塊發(fā)出驗(yàn)證請(qǐng)求,驗(yàn)證通過后,以<用戶名,授權(quán)碼,生成時(shí)間,存活時(shí)間>的格式,讓訪問代理服務(wù)器保存該登錄信息;
(3)同時(shí)轉(zhuǎn)發(fā)驗(yàn)證后的登錄信息到子系統(tǒng);
(4)經(jīng)子系統(tǒng)處理后,發(fā)送回復(fù)信息給訪問代理服務(wù)器;若沒有通過驗(yàn)證則將重定向到統(tǒng)一登錄界面;
(5)訪問代理服務(wù)器將子系統(tǒng)的回復(fù)通過終端轉(zhuǎn)發(fā)給用戶。