麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種異構(gòu)WEB系統(tǒng)單點登錄的方法與流程

文檔序號:12493427閱讀:811來源:國知局
一種異構(gòu)WEB系統(tǒng)單點登錄的方法與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種異構(gòu)WEB系統(tǒng)單點登錄的方法。



背景技術(shù):

隨著計算機技術(shù)的發(fā)展,各企業(yè)對計算機和信息化系統(tǒng)的依賴程度越來越高。各企業(yè)在信息化進程的不同階段,開發(fā)了多個辦公信息化WEB系統(tǒng),例如OA系統(tǒng)、財務(wù)系統(tǒng)、工作流系統(tǒng)等。然而,由于歷史原因,各系統(tǒng)獨立管理用戶的賬號和密碼信息,這大大增加了企業(yè)對用戶信息的管理壓力,同時也給系統(tǒng)安全帶來了隱患。因此,單點登錄系統(tǒng)應(yīng)運而生。

基于CAS(Central Authentication Service)技術(shù)的單點登錄系統(tǒng)是目前流行的開源單點登錄解決方案,然而,現(xiàn)有的基于CAS技術(shù)的單點登錄系統(tǒng)依然存在一些不足。在大部分企業(yè)中,各業(yè)務(wù)系統(tǒng)可能是在不同的時間階段開發(fā)的,例如早期的系統(tǒng)可能是使用ASP技術(shù)實現(xiàn)的,新的系統(tǒng)可能是由Java EE、ASP.NET或者PHP技術(shù)實現(xiàn)的。因此,要將這些異構(gòu)系統(tǒng)集成在一個單獨登錄系統(tǒng)中,必須為每一種技術(shù)架構(gòu)開發(fā)其獨有的CAS客戶端。雖然活躍的CAS社區(qū)在大部分主流技術(shù)架構(gòu)下實現(xiàn)了CAS客戶端,但部分CAS客戶端穩(wěn)定性較差,將導(dǎo)致多個業(yè)務(wù)系統(tǒng)的登錄狀態(tài)不一致,這在耦合度緊密的業(yè)務(wù)系統(tǒng)集成方案中影響更為嚴重。而對于使用ASP等已過時的技術(shù)實現(xiàn)的業(yè)務(wù)系統(tǒng),需要自己實現(xiàn)CAS客戶端。同時,CAS客戶端系統(tǒng)與業(yè)務(wù)系統(tǒng)的集成是通過過濾器技術(shù)實現(xiàn)的,如果系統(tǒng)需要做較細粒度的控制(例如系統(tǒng)首頁不需要登錄,某些重要業(yè)務(wù)頁面必須登錄),需要在配置文件中增加多條記錄,降低其易讀性。

目前,異構(gòu)WEB系統(tǒng)的單點登錄集成大都是通過單獨實現(xiàn)單點登錄客戶端實現(xiàn)。這大大增加了單點登錄的實現(xiàn)難度,同時也會降低系統(tǒng)的穩(wěn)定性。



技術(shù)實現(xiàn)要素:

鑒于上述的分析,本發(fā)明旨在提供一種異構(gòu)WEB系統(tǒng)單點登錄的方法,用以解決現(xiàn)有異構(gòu)WEB系統(tǒng)單點登錄難度高、系統(tǒng)穩(wěn)定性差的問題。

本發(fā)明的目的主要是通過以下技術(shù)方案實現(xiàn)的:

一種異構(gòu)WEB系統(tǒng)單點登錄的方法,包括以下步驟:

步驟S1:單點登錄客戶端從用戶請求URL中讀取ST信息,若讀取成功,執(zhí)行步驟S5;若讀取失敗,執(zhí)行步驟S2;

所述ST,Service Ticket,為服務(wù)票據(jù),是單點登錄服務(wù)端依據(jù)TGT為用戶請求的應(yīng)用服務(wù)生成的用戶身份憑證;

所述TGT,Ticket Granting Ticket,為用戶身份票據(jù),是用戶身份認證成功的重要證據(jù),實現(xiàn)單點登錄的主要依據(jù);

步驟S2:單點登錄客戶端從瀏覽器Cookie中讀取TGT信息,若存在,執(zhí)行步驟S4;若不存在,執(zhí)行步驟S3;

步驟S3:單點登錄服務(wù)端驗證用戶身份認證信息并生成TGT;

步驟S4:單點登錄服務(wù)端認證TGT并生成ST;

步驟S5:單點登錄服務(wù)端認證ST并加載頁面內(nèi)容。

所述步驟S3還包括以下子步驟:

步驟S301:單點登錄服務(wù)端接收用戶輸入的身份認證信息;

步驟S302:單點登錄服務(wù)端認證用戶身份認證信息,若認證成功,則執(zhí)行步驟S303;若認證失敗,則返回步驟S301;

步驟S303:單點登錄服務(wù)端依據(jù)用戶身份認證信息生成TGT,并發(fā)送給單點登錄客戶端。

所述步驟S301中,用戶通過單點登錄客戶端向單點登錄服務(wù)端發(fā)送用戶身份認證請求,單點登錄服務(wù)端接收用戶的身份認證請求,重定向到單點登錄服務(wù)端的身份認證控制頁面,引導(dǎo)用戶輸入用戶名、密碼、驗證碼等身份認證信息并接收所述身份認證信息。

單點登錄客戶端接收單點登錄服務(wù)端發(fā)送的TGT,將TGT存入Cookie。

所述步驟S4還包括以下子步驟:

步驟S401:單點登錄客戶端向單點登錄服務(wù)端發(fā)送認證TGT請求;

步驟S402:單點登錄服務(wù)端接收單點登錄客戶端發(fā)送的認證TGT請求,并提取認證TGT請求中攜帶的TGT,對TGT進行認證,若認證成功,將認證成功后的TGT打包成json數(shù)據(jù)發(fā)送給單點登錄客戶端,執(zhí)行步驟S403;若認證失敗,發(fā)送認證失敗信息至單點登錄客戶端,并返回步驟S3;

步驟S403:單點登錄服務(wù)端生成ST并發(fā)送給單點登錄客戶端。

為保證安全性,ST在每一次用戶請求應(yīng)用服務(wù)時都重新生成,且一次認證后即過期。

單點登錄客戶端接收單點登錄服務(wù)端發(fā)送的ST,將ST存入Javascript的ST變量中。

單點登錄服務(wù)端使用CAS進行TGT和ST的生成和認證。

所述步驟S5還包括以下子步驟:

步驟S501:單點登錄客戶端向單點登錄服務(wù)端發(fā)送認證ST請求;

步驟S502:單點登錄服務(wù)端接收單點登錄客戶端發(fā)送的認證ST請求,并提取認證ST請求中攜帶的ST,對ST進行認證,若認證成功,將認證成功后的ST打包成json數(shù)據(jù)發(fā)送至單點登錄客戶端,執(zhí)行步驟S503;若認證失敗,發(fā)送認證失敗信息至單點登錄客戶端,返回步驟S3;

步驟S503:加載頁面內(nèi)容。

單點登錄客戶端與單點登錄服務(wù)端的交互方式基于json技術(shù)實現(xiàn)。

本發(fā)明有益效果如下:

本發(fā)明提出的與后臺技術(shù)架構(gòu)無關(guān)的WEB系統(tǒng)單點登錄集成方法,對單點登錄系統(tǒng)集成技術(shù)架構(gòu)復(fù)雜的遺留WEB系統(tǒng)具有參考價值;基于Javascript技術(shù)的單點登錄客戶端實現(xiàn)方法,可以簡單的實現(xiàn)頁面級別的登錄控制;CAS客戶端可以方便的集成各種技術(shù)架構(gòu)下的WEB系統(tǒng),同時可以通過引入腳本的方式輕松實現(xiàn)頁面級別的訪問控制。

本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分的從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

附圖說明

附圖僅用于示出具體實施例的目的,而并不認為是對本發(fā)明的限制,在整個附圖中,相同的參考符號表示相同的部件。

圖1為客戶端工作流程示意圖;

圖2為登錄過程流程示意圖;

圖3為認證TGT流程示意圖;

圖4為認證ST流程示意圖;

圖5為客戶端服務(wù)端交互示意圖。

具體實施方式

下面結(jié)合附圖來具體描述本發(fā)明的優(yōu)選實施例,其中,附圖構(gòu)成本申請一部分,并與本發(fā)明的實施例一起用于闡釋本發(fā)明的原理。

本發(fā)明實施例提供了一種異構(gòu)WEB系統(tǒng)單點登錄的方法,包括以下步驟:

步驟S1:單點登錄客戶端從用戶請求URL中讀取ST信息,若讀取成功,執(zhí)行步驟S5;若讀取失敗,執(zhí)行步驟S2。

具體地,所述單點登錄客戶端基于瀏覽器,運行于用戶要訪問的網(wǎng)頁中。

步驟S2:單點登錄客戶端從瀏覽器Cookie中讀取TGT信息,若存在,執(zhí)行步驟S4;若不存在,執(zhí)行步驟S3。

所述步驟S1、步驟S2客戶端工作流程圖見圖1。

步驟S3:如圖2所示,單點登錄服務(wù)端驗證用戶身份認證信息并生成TGT。

具體地,所述步驟S3還包括以下子步驟:

步驟S301:單點登錄服務(wù)端接收用戶輸入的身份認證信息。

具體地,用戶通過單點登錄客戶端向單點登錄服務(wù)端發(fā)送用戶身份認證請求,單點登錄服務(wù)端接收用戶的身份認證請求,重定向到單點登錄服務(wù)端的身份認證控制頁面,引導(dǎo)用戶輸入用戶名、密碼、驗證碼等身份認證信息并接收所述身份認證信息;

具體地,所述身份認證控制頁面為登錄頁面,所述身份認證信息為登錄信息;

優(yōu)選地,在頁面中引入單點登錄客戶端Javascript腳本文件,將身份認證控制頁面集成進單點登錄系統(tǒng)中;

優(yōu)選地,所述單點登錄客戶端通過Javascript腳本語言實現(xiàn),適用于所有WEB系統(tǒng)。

步驟S302:單點登錄服務(wù)端認證用戶身份認證信息,若認證成功,則執(zhí)行步驟S303;若認證失敗,則返回步驟S301。

優(yōu)選地,認證失敗后,返回步驟S301之前,單點登錄服務(wù)端重定向到身份認證控制頁面,并顯示認證失敗信息,或進行自定義的操作;

優(yōu)選地,所述自定義的操作可用于限制用戶輸入錯誤用戶名、密碼的次數(shù)等。

優(yōu)選地,單點登錄客戶端與單點登錄服務(wù)端的交互方式基于json(JavaScript Object Notation)技術(shù)實現(xiàn),客戶端服務(wù)端交互示意圖見圖5。

步驟S303:單點登錄服務(wù)端依據(jù)用戶身份認證信息生成TGT,并發(fā)送給單點登錄客戶端。

進一步地,單點登錄客戶端接收單點登錄服務(wù)端發(fā)送的TGT,將TGT存入Cookie;

具體地,所述TGT(Ticket Granting Ticket)為用戶身份票據(jù),是用戶身份認證成功的重要證據(jù),實現(xiàn)單點登錄的主要依據(jù)。

步驟S4:如圖3所示,單點登錄服務(wù)端認證TGT并生成ST。

具體地,所述步驟S4還包括以下子步驟:

步驟S401:單點登錄客戶端向單點登錄服務(wù)端發(fā)送認證TGT請求。

具體地,單點登錄客戶端根據(jù)Cookie中的TGT,向單點登錄服務(wù)端發(fā)送認證TGT請求;

步驟S402:單點登錄服務(wù)端接收單點登錄客戶端發(fā)送的認證TGT請求,并提取認證TGT請求中攜帶的TGT,對TGT進行認證,若認證成功,將認證成功后的TGT打包成json數(shù)據(jù)發(fā)送給單點登錄客戶端,執(zhí)行步驟S403;若認證失敗,發(fā)送認證失敗信息至單點登錄客戶端,并返回步驟S3;

優(yōu)選地,TGT認證失敗后,返回步驟S3之前,單點登錄服務(wù)端重定向到身份認證控制頁面,并顯示認證失敗信息。

步驟S403:單點登錄服務(wù)端生成ST并發(fā)送給單點登錄客戶端。

進一步地,單點登錄客戶端接收單點登錄服務(wù)端發(fā)送的ST,將ST存入Javascript的ST變量中;

具體地,所述ST(Service Ticket)為服務(wù)票據(jù),是單點登錄服務(wù)端依據(jù)TGT為用戶請求的應(yīng)用服務(wù)生成的用戶身份憑證;

優(yōu)選地,為保證安全性,ST在每一次用戶請求應(yīng)用服務(wù)時都重新生成,且一次認證后即過期。

步驟S5:如圖4所示,單點登錄服務(wù)端認證ST并加載頁面內(nèi)容。

具體地,所述步驟S5還包括以下子步驟:

步驟S501:單點登錄客戶端向單點登錄服務(wù)端發(fā)送認證ST請求。

具體地,單點登錄客戶端根據(jù)Javascript的ST變量中的ST,向單點登錄服務(wù)端發(fā)送認證ST請求。

步驟S502:單點登錄服務(wù)端接收單點登錄客戶端發(fā)送的認證ST請求,并提取認證ST請求中攜帶的ST,對ST進行認證,若認證成功,將認證成功后的ST打包成json數(shù)據(jù)發(fā)送至單點登錄客戶端,執(zhí)行步驟S503;若認證失敗,發(fā)送認證失敗信息至單點登錄客戶端,返回步驟S3;

優(yōu)選地,ST認證失敗后,返回步驟S3之前,單點登錄服務(wù)端重定向到身份認證控制頁面,并顯示認證失敗信息。

優(yōu)選地,單點登錄服務(wù)端使用CAS(Central Authentication Service)進行TGT和ST的生成和認證。

步驟S503:加載頁面內(nèi)容。

具體地,加載的頁面為步驟S1中用戶請求URL對應(yīng)的頁面。

綜上所述,本發(fā)明實施例提供了一種異構(gòu)WEB系統(tǒng)單點登錄的方法,將TGT、ST票據(jù)信息的生成和驗證拆分在不同的流程中,為C/S(客戶端/服務(wù)器)架構(gòu)集成進基于CAS技術(shù)的單點登錄系統(tǒng)提供了參考。

1、提出了一種基于CAS技術(shù)的異構(gòu)WEB系統(tǒng)的單點登錄集成方法。應(yīng)用服務(wù)系統(tǒng)無需根據(jù)自身的技術(shù)架構(gòu)單獨實現(xiàn)單點登錄客戶端,各應(yīng)用服務(wù)系統(tǒng)可以通過簡單的引入Javascript腳本文件集成到單點登錄系統(tǒng)中。

2、提出了一種基于Javascript技術(shù)的單點登錄客戶端實現(xiàn)方法。通過前端技術(shù)獲取認證票據(jù)和認證結(jié)果,可以在認證成功或失敗后自定義與頁面相關(guān)的動作,增加了訪問控制的靈活性。同時,Javascript作為一種前端技術(shù),可以運用于任何WEB系統(tǒng)。

本領(lǐng)域技術(shù)人員可以理解,實現(xiàn)上述實施例方法的全部或部分流程,可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于計算機可讀存儲介質(zhì)中。其中,所述計算機可讀存儲介質(zhì)為磁盤、光盤、只讀存儲記憶體或隨機存儲記憶體等。

以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 东海县| 莒南县| 永济市| 镇巴县| 逊克县| 滁州市| 益阳市| 武平县| 弥勒县| 清涧县| 双江| 日土县| 太仓市| 屯昌县| 湄潭县| 轮台县| 广河县| 成安县| 泗洪县| 龙川县| 辰溪县| 洞口县| 胶州市| 莱芜市| 通化县| 金湖县| 兴安盟| 乌兰察布市| 东平县| 蕲春县| 湘潭县| 焦作市| 辰溪县| 和龙市| 阳信县| 兴化市| 沙河市| 西昌市| 沅江市| 股票| 本溪|