亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

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

文檔序號(hào):12493427閱讀:734來(lái)源:國(guó)知局
一種異構(gòu)WEB系統(tǒng)單點(diǎn)登錄的方法與流程

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



背景技術(shù):

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

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

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



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

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

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

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

步驟S1:?jiǎn)吸c(diǎn)登錄客戶(hù)端從用戶(hù)請(qǐng)求URL中讀取ST信息,若讀取成功,執(zhí)行步驟S5;若讀取失敗,執(zhí)行步驟S2;

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

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

步驟S2:?jiǎn)吸c(diǎn)登錄客戶(hù)端從瀏覽器Cookie中讀取TGT信息,若存在,執(zhí)行步驟S4;若不存在,執(zhí)行步驟S3;

步驟S3:?jiǎn)吸c(diǎn)登錄服務(wù)端驗(yàn)證用戶(hù)身份認(rèn)證信息并生成TGT;

步驟S4:?jiǎn)吸c(diǎn)登錄服務(wù)端認(rèn)證TGT并生成ST;

步驟S5:?jiǎn)吸c(diǎn)登錄服務(wù)端認(rèn)證ST并加載頁(yè)面內(nèi)容。

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

步驟S301:?jiǎn)吸c(diǎn)登錄服務(wù)端接收用戶(hù)輸入的身份認(rèn)證信息;

步驟S302:?jiǎn)吸c(diǎn)登錄服務(wù)端認(rèn)證用戶(hù)身份認(rèn)證信息,若認(rèn)證成功,則執(zhí)行步驟S303;若認(rèn)證失敗,則返回步驟S301;

步驟S303:?jiǎn)吸c(diǎn)登錄服務(wù)端依據(jù)用戶(hù)身份認(rèn)證信息生成TGT,并發(fā)送給單點(diǎn)登錄客戶(hù)端。

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

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

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

步驟S401:?jiǎn)吸c(diǎn)登錄客戶(hù)端向單點(diǎn)登錄服務(wù)端發(fā)送認(rèn)證TGT請(qǐng)求;

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

步驟S403:?jiǎn)吸c(diǎn)登錄服務(wù)端生成ST并發(fā)送給單點(diǎn)登錄客戶(hù)端。

為保證安全性,ST在每一次用戶(hù)請(qǐng)求應(yīng)用服務(wù)時(shí)都重新生成,且一次認(rèn)證后即過(guò)期。

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

單點(diǎn)登錄服務(wù)端使用CAS進(jìn)行TGT和ST的生成和認(rèn)證。

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

步驟S501:?jiǎn)吸c(diǎn)登錄客戶(hù)端向單點(diǎn)登錄服務(wù)端發(fā)送認(rèn)證ST請(qǐng)求;

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

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

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

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

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

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

附圖說(shuō)明

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

圖1為客戶(hù)端工作流程示意圖;

圖2為登錄過(guò)程流程示意圖;

圖3為認(rèn)證TGT流程示意圖;

圖4為認(rèn)證ST流程示意圖;

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

具體實(shí)施方式

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

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

步驟S1:?jiǎn)吸c(diǎn)登錄客戶(hù)端從用戶(hù)請(qǐng)求URL中讀取ST信息,若讀取成功,執(zhí)行步驟S5;若讀取失敗,執(zhí)行步驟S2。

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

步驟S2:?jiǎn)吸c(diǎn)登錄客戶(hù)端從瀏覽器Cookie中讀取TGT信息,若存在,執(zhí)行步驟S4;若不存在,執(zhí)行步驟S3。

所述步驟S1、步驟S2客戶(hù)端工作流程圖見(jiàn)圖1。

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

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

步驟S301:?jiǎn)吸c(diǎn)登錄服務(wù)端接收用戶(hù)輸入的身份認(rèn)證信息。

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

具體地,所述身份認(rèn)證控制頁(yè)面為登錄頁(yè)面,所述身份認(rèn)證信息為登錄信息;

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

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

步驟S302:?jiǎn)吸c(diǎn)登錄服務(wù)端認(rèn)證用戶(hù)身份認(rèn)證信息,若認(rèn)證成功,則執(zhí)行步驟S303;若認(rèn)證失敗,則返回步驟S301。

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

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

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

步驟S303:?jiǎn)吸c(diǎn)登錄服務(wù)端依據(jù)用戶(hù)身份認(rèn)證信息生成TGT,并發(fā)送給單點(diǎn)登錄客戶(hù)端。

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

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

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

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

步驟S401:?jiǎn)吸c(diǎn)登錄客戶(hù)端向單點(diǎn)登錄服務(wù)端發(fā)送認(rèn)證TGT請(qǐng)求。

具體地,單點(diǎn)登錄客戶(hù)端根據(jù)Cookie中的TGT,向單點(diǎn)登錄服務(wù)端發(fā)送認(rèn)證TGT請(qǐng)求;

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

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

步驟S403:?jiǎn)吸c(diǎn)登錄服務(wù)端生成ST并發(fā)送給單點(diǎn)登錄客戶(hù)端。

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

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

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

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

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

步驟S501:?jiǎn)吸c(diǎn)登錄客戶(hù)端向單點(diǎn)登錄服務(wù)端發(fā)送認(rèn)證ST請(qǐng)求。

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

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

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

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

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

具體地,加載的頁(yè)面為步驟S1中用戶(hù)請(qǐng)求URL對(duì)應(yīng)的頁(yè)面。

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

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

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

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

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

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1