單點(diǎn)登錄方法和系統(tǒng)及單點(diǎn)登錄客戶端的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種單點(diǎn)登錄方法和系統(tǒng)及單點(diǎn)登錄客戶端。其中,單點(diǎn)登錄方法包括:?jiǎn)吸c(diǎn)登錄客戶端獲取登錄憑據(jù);單點(diǎn)登錄客戶端驗(yàn)證登錄憑據(jù)是否有效;單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地;以及單點(diǎn)登錄客戶端將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。通過(guò)本發(fā)明,解決了在應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題,達(dá)到了其他信任的應(yīng)用系統(tǒng)可以獲取登錄信息進(jìn)行登錄的效果。
【專利說(shuō)明】單點(diǎn)登錄方法和系統(tǒng)及單點(diǎn)登錄客戶端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種單點(diǎn)登錄方法和系統(tǒng)及單點(diǎn)登錄客戶端。
【背景技術(shù)】
[0002]單點(diǎn)登錄是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。
[0003]一般情況下,應(yīng)用系統(tǒng)通過(guò)訪問(wèn)單點(diǎn)登錄系統(tǒng)的網(wǎng)頁(yè)登錄后,當(dāng)訪問(wèn)其他信任的應(yīng)用系統(tǒng)的時(shí)候,通過(guò)單點(diǎn)登錄系統(tǒng)驗(yàn)證身份,可以直接獲取先前的登錄信息進(jìn)行驗(yàn)證,不需要應(yīng)用系統(tǒng)重新登錄。目前單點(diǎn)登錄方式已經(jīng)被廣泛使用,一般用于網(wǎng)站登錄,而非網(wǎng)站的應(yīng)用系統(tǒng),不方便訪問(wèn)單點(diǎn)登錄系統(tǒng)網(wǎng)頁(yè)登錄驗(yàn)證身份時(shí),會(huì)影響實(shí)現(xiàn)單點(diǎn)登錄效果。目前,在單點(diǎn)登錄系統(tǒng)中,當(dāng)應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息,其他信任的應(yīng)用系統(tǒng)無(wú)法基于之前登錄的應(yīng)用系統(tǒng)進(jìn)行登錄。
[0004]針對(duì)現(xiàn)有技術(shù)中當(dāng)應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種單點(diǎn)登錄方法和系統(tǒng)及單點(diǎn)登錄客戶端,以解決當(dāng)應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題。
[0006]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了 一種單點(diǎn)登錄方法。根據(jù)本發(fā)明的單點(diǎn)登錄方法包括:單點(diǎn)登錄客戶端獲取登錄憑據(jù);單點(diǎn)登錄客戶端驗(yàn)證登錄憑據(jù)是否有效;單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地;以及單點(diǎn)登錄客戶端將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
[0007]進(jìn)一步地,在單點(diǎn)登錄客戶端獲取登錄憑據(jù)之前,單點(diǎn)登錄方法還包括:應(yīng)用程序接收用戶輸入的用戶名和密碼信息;應(yīng)用程序?qū)⒂脩裘兔艽a信息發(fā)送給單點(diǎn)登錄服務(wù)器進(jìn)行驗(yàn)證,并由單點(diǎn)登錄服務(wù)器生成登錄憑據(jù);應(yīng)用程序獲取登錄憑據(jù);以及應(yīng)用程序?qū)@取到的憑據(jù)傳遞至單點(diǎn)登錄客戶端。
[0008]進(jìn)一步地,單點(diǎn)登錄客戶端包括驗(yàn)證頁(yè)面,在單點(diǎn)登錄客戶端獲取登錄憑據(jù)之前,單點(diǎn)登錄方法還包括:應(yīng)用程序通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面;以及應(yīng)用程序?qū)⒌卿洃{據(jù)發(fā)送給驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
[0009]進(jìn)一步地,在應(yīng)用程序通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面之前,單點(diǎn)登錄方法還包括:單點(diǎn)登錄服務(wù)器接收應(yīng)用程序發(fā)送的用戶名和密碼信息,單點(diǎn)登錄服務(wù)器包括服務(wù)接口 ;單點(diǎn)登錄服務(wù)器接收用戶名和密碼信息通過(guò)服務(wù)接口進(jìn)行驗(yàn)證;單點(diǎn)登錄服務(wù)器基于驗(yàn)證通過(guò)后的信息生成登錄憑據(jù);以及單點(diǎn)登錄服務(wù)器保存驗(yàn)證通過(guò)后的信息和登錄憑據(jù)并返回登錄憑據(jù)至應(yīng)用程序。[0010]進(jìn)一步地,在單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地之后,單點(diǎn)登錄方法還包括:單點(diǎn)登錄客戶端將存儲(chǔ)的憑據(jù)發(fā)送給需要登錄的應(yīng)用程序;以及需要登錄的應(yīng)用程序獲取存儲(chǔ)的憑據(jù)進(jìn)行登錄。
[0011]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種單點(diǎn)登錄系統(tǒng)。根據(jù)本發(fā)明的單點(diǎn)登錄系統(tǒng)包括單點(diǎn)登錄客戶端和應(yīng)用程序,其中:單點(diǎn)登錄客戶端用于獲取登錄憑據(jù),驗(yàn)證登錄憑據(jù)是否有效,將驗(yàn)證有效的憑據(jù)保存到本地,以及將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
[0012]進(jìn)一步地,單點(diǎn)登錄系統(tǒng)還包括單點(diǎn)登錄服務(wù)器,應(yīng)用程序還用于在單點(diǎn)登錄客戶端獲取登錄憑據(jù)之前,接收用戶輸入的用戶名和密碼信息,將用戶名和密碼信息發(fā)送給單點(diǎn)登錄服務(wù)器進(jìn)行驗(yàn)證,單點(diǎn)登錄服務(wù)器基于驗(yàn)證通過(guò)后的信息生成登錄憑據(jù),應(yīng)用程序獲取登錄憑據(jù),將獲取到的憑據(jù)傳遞至單點(diǎn)登錄客戶端。
[0013]進(jìn)一步地,單點(diǎn)登錄客戶端包括驗(yàn)證頁(yè)面,應(yīng)用程序還用于通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面,將登錄憑據(jù)發(fā)送給驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
[0014]進(jìn)一步地,單點(diǎn)登錄服務(wù)器包括服務(wù)接口,服務(wù)接口用于驗(yàn)證用戶名和密碼信息,以及基于驗(yàn)證通過(guò)后的信息生成登錄憑據(jù)。
[0015]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種單點(diǎn)登錄客戶端。根據(jù)本發(fā)明的單點(diǎn)登錄客戶端包括:獲取單元,用于獲取登錄憑據(jù);驗(yàn)證單元,用于登錄憑據(jù)是否有效;保存單元,用于將驗(yàn)證有效的憑據(jù)保存到本地;以及發(fā)送單元,用于將將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
[0016]通過(guò)本發(fā)明,采用單點(diǎn)登錄方法包括:單點(diǎn)登錄客戶端獲取登錄憑據(jù);單點(diǎn)登錄客戶端驗(yàn)證登錄憑據(jù)是否有效;單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地;以及單點(diǎn)登錄客戶端將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。根據(jù)本發(fā)明實(shí)施例,通過(guò)單點(diǎn)登錄客戶端獲取登錄憑據(jù)后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證,將驗(yàn)證通過(guò)后的登錄憑據(jù)保存到本地,并返回登錄憑據(jù)驗(yàn)證通過(guò)的信息該應(yīng)用程序,使得應(yīng)用程序在不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他需要登錄的應(yīng)用程序可以獲取單點(diǎn)登錄客戶端存儲(chǔ)的登錄憑據(jù)進(jìn)行登錄,其中,應(yīng)用程序可以是應(yīng)用系統(tǒng)中的應(yīng)用程序,解決了現(xiàn)有技術(shù)中在應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題,達(dá)到了其他信任的應(yīng)用系統(tǒng)可以獲取登錄信息進(jìn)行登錄的效果。
【專利附圖】
【附圖說(shuō)明】
[0017]構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1是根據(jù)本發(fā)明第一實(shí)施例的單點(diǎn)登錄系統(tǒng)的結(jié)構(gòu)示意圖;
[0019]圖2是根據(jù)本發(fā)明第二實(shí)施例的單點(diǎn)登錄系統(tǒng)的結(jié)構(gòu)示意圖;
[0020]圖3是根據(jù)本發(fā)明實(shí)施例的單點(diǎn)登錄客戶端的結(jié)構(gòu)示意圖;
[0021]圖4是根據(jù)本發(fā)明第一實(shí)施例的單點(diǎn)登錄方法的流程圖;以及
[0022]圖5是根據(jù)本發(fā)明第二實(shí)施例的單點(diǎn)登錄方法的流程圖。
【具體實(shí)施方式】[0023]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
[0024]本發(fā)明實(shí)施例提供了一種單點(diǎn)登錄系統(tǒng),該單點(diǎn)登錄系統(tǒng)可以通過(guò)計(jì)算機(jī)設(shè)備實(shí)現(xiàn)其功能。
[0025]圖1是根據(jù)本發(fā)明第一實(shí)施例的單點(diǎn)登錄系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,單點(diǎn)登錄系統(tǒng)包括單點(diǎn)登錄客戶端10和應(yīng)用程序20,其中:
[0026]單點(diǎn)登錄客戶端10用于獲取登錄憑據(jù),驗(yàn)證登錄憑據(jù)是否有效,將驗(yàn)證有效的憑據(jù)保存到本地,以及將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序20。
[0027]單點(diǎn)登錄客戶端10獲取的登錄憑據(jù)可以是應(yīng)用程序20發(fā)送的登錄憑據(jù),該登錄憑據(jù)可以是由用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息等登錄信息生成的登錄憑據(jù)。例如,用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息之后,應(yīng)用程序20將用戶名和密碼信息發(fā)送給單點(diǎn)登錄服務(wù)器,通過(guò)單點(diǎn)登錄服務(wù)器的服務(wù)接口進(jìn)行驗(yàn)證,并生成登錄憑據(jù),再將該登錄憑據(jù)返回給應(yīng)用程序20,應(yīng)用程序20再將單點(diǎn)登錄服務(wù)器返回的登錄憑據(jù)發(fā)送給單點(diǎn)登錄客戶端10。
[0028]單點(diǎn)登錄客戶端10可以是接收登錄憑據(jù)之后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證。通過(guò)單點(diǎn)登錄客戶端10驗(yàn)證該登錄憑據(jù)是否有效。由于應(yīng)用程序20傳遞過(guò)來(lái)的有可能是無(wú)效的登錄憑據(jù),例如,登錄憑據(jù)是偽造的,或者該登錄憑據(jù)與賬戶不對(duì)應(yīng),登錄憑據(jù)是其他賬戶的用戶名和密碼信息生成的,或者登錄憑據(jù)已經(jīng)過(guò)期,無(wú)法使用等。只有在驗(yàn)證有效時(shí),才能使用該登錄憑據(jù)進(jìn)行單點(diǎn)登錄。其中,應(yīng)用程序20與單點(diǎn)登錄客戶端10之間的通信協(xié)議可以是使用通用的http協(xié)議。
[0029]當(dāng)驗(yàn)證登錄憑據(jù)有效時(shí),可以將驗(yàn)證頁(yè)面驗(yàn)證通過(guò)后的憑據(jù)進(jìn)行存儲(chǔ),保存在單點(diǎn)登錄客戶端10本地的緩存中,從而使得其他信任的應(yīng)用程序通過(guò)單點(diǎn)登錄系統(tǒng)進(jìn)行登錄時(shí),可以直接獲取單點(diǎn)登錄客戶端10保存的登錄憑據(jù)和用戶相關(guān)信息進(jìn)行登錄,從而達(dá)到單點(diǎn)登錄的目的。當(dāng)將驗(yàn)證通過(guò)后的憑據(jù)存儲(chǔ)在單點(diǎn)登錄客戶端10本地之后,單點(diǎn)登錄客戶端10將登錄憑據(jù)驗(yàn)證通過(guò)后的信息發(fā)送至應(yīng)用程序20,從而告知應(yīng)用程序20登錄憑據(jù)成功驗(yàn)證并保存。
[0030]根據(jù)本發(fā)明實(shí)施例,通過(guò)單點(diǎn)登錄客戶端10獲取登錄憑據(jù)后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證,將驗(yàn)證通過(guò)后的登錄憑據(jù)保存到本地,并返回登錄憑據(jù)驗(yàn)證通過(guò)的信息該應(yīng)用程序20,使得應(yīng)用程序20在不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他需要登錄的應(yīng)用程序可以獲取單點(diǎn)登錄客戶端10存儲(chǔ)的登錄憑據(jù)進(jìn)行登錄,其中,應(yīng)用程序20可以是應(yīng)用系統(tǒng)中的應(yīng)用程序20,解決了現(xiàn)有技術(shù)中在應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題,達(dá)到了其他信任的應(yīng)用系統(tǒng)可以獲取登錄信息進(jìn)行登錄的效果。
[0031]圖2是根據(jù)本發(fā)明第二實(shí)施例的單點(diǎn)登錄系統(tǒng)的結(jié)構(gòu)示意圖。該實(shí)施例的單點(diǎn)登錄系統(tǒng)可以作為上述實(shí)施例的單點(diǎn)登錄系統(tǒng)的一種優(yōu)選實(shí)施方式。如圖2所示,單點(diǎn)登錄系統(tǒng)包括單點(diǎn)登錄客戶端10、應(yīng)用程序20和單點(diǎn)登錄服務(wù)器30。
[0032]其中,應(yīng)用程序20還用于在單點(diǎn)登錄客戶端10獲取登錄憑據(jù)之前,接收用戶輸入的用戶名和密碼信息,將用戶名和密碼信息發(fā)送給單點(diǎn)登錄服務(wù)器30進(jìn)行驗(yàn)證,單點(diǎn)登錄服務(wù)器30基于驗(yàn)證通過(guò)后的信息生成登錄憑據(jù),應(yīng)用程序20獲取登錄憑據(jù),將獲取到的憑據(jù)傳遞至單點(diǎn)登錄客戶端10。
[0033]當(dāng)用戶通過(guò)應(yīng)用程序20進(jìn)行登錄時(shí),可以通過(guò)應(yīng)用程序20的客戶端輸入賬戶的用戶名和密碼信息,以對(duì)賬戶進(jìn)行驗(yàn)證。在應(yīng)用程序20接收用戶輸入的用戶名和密碼信息之后,將用戶名和密碼信息發(fā)送給單點(diǎn)登錄系統(tǒng)的單點(diǎn)登錄服務(wù)器30進(jìn)行驗(yàn)證,對(duì)該用戶名和密碼信息進(jìn)行驗(yàn)證,可以是通過(guò)單點(diǎn)登錄系統(tǒng)的服務(wù)接口進(jìn)行驗(yàn)證,以驗(yàn)證用戶名和密碼信息是否合法,當(dāng)驗(yàn)證通過(guò)時(shí),即表明用戶輸入的賬戶的用戶名和密碼信息合法,則可以基于該用戶名和密碼信息生成登錄憑據(jù)。當(dāng)驗(yàn)證失敗時(shí),即表明用戶輸入的賬戶的用戶名和密碼信息不合法,可以返回驗(yàn)證失敗的信息給應(yīng)用程序20。其中,登錄憑據(jù)可以包括憑據(jù)信息和憑據(jù)標(biāo)識(shí),憑據(jù)標(biāo)識(shí)可以作為識(shí)別標(biāo)識(shí),通過(guò)該憑據(jù)標(biāo)識(shí)可以定位用戶信息,例如用戶的用戶名或者用戶的瀏覽器信息或者用戶的IP地址等。同時(shí),憑據(jù)標(biāo)識(shí)也是各應(yīng)用程序20查找和驗(yàn)證用戶信息的媒介。憑據(jù)標(biāo)識(shí)可以是隨機(jī)生成的具有唯一性的標(biāo)識(shí),具有一定的時(shí)效性。
[0034]在單點(diǎn)登錄服務(wù)器30生成登錄憑據(jù)之后,應(yīng)用程序20可以從單點(diǎn)登錄服務(wù)器30獲取的登錄憑據(jù),從而可以將登錄憑據(jù)傳遞給單點(diǎn)登錄客戶端10進(jìn)行驗(yàn)證。獲取的登錄憑據(jù)可以是憑據(jù)標(biāo)識(shí)。
[0035]需要說(shuō)明的是,本發(fā)明實(shí)施例中對(duì)登錄憑據(jù)的傳遞均可以是傳遞生成的憑據(jù)標(biāo)識(shí),由于憑據(jù)標(biāo)識(shí)為識(shí)別標(biāo)識(shí),相對(duì)于登錄憑據(jù)的憑據(jù)信息而言,數(shù)據(jù)容量小,從而減小數(shù)據(jù)的傳輸量。
[0036]在獲取到登錄憑據(jù)之后,應(yīng)用程序20將該登錄憑據(jù)傳遞至單點(diǎn)登錄客戶端10,以便于單點(diǎn)登錄客戶端10對(duì)該登錄憑據(jù)進(jìn)行驗(yàn)證。
[0037]優(yōu)選地,單點(diǎn)登錄客戶端10包括驗(yàn)證頁(yè)面,應(yīng)用程序20還用于通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面,將登錄憑據(jù)發(fā)送給驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
[0038]應(yīng)用程序20可以通過(guò)代碼模擬訪問(wèn)單點(diǎn)登錄客戶端10的驗(yàn)證頁(yè)面,可以是通過(guò)運(yùn)行在客戶端瀏覽器的代碼來(lái)訪問(wèn)單點(diǎn)登錄客戶端10,不用跳轉(zhuǎn)到單點(diǎn)登錄客戶端10的驗(yàn)證頁(yè)面,直接通過(guò)代碼進(jìn)行訪問(wèn)。在訪問(wèn)驗(yàn)證頁(yè)面之后,應(yīng)用程序20將登錄憑據(jù)發(fā)送給驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
[0039]根據(jù)本發(fā)明實(shí)施例,將訪問(wèn)單點(diǎn)登錄客戶端10的驗(yàn)證頁(yè)面并驗(yàn)證和存儲(chǔ)或更新用戶信息后返回應(yīng)用程序20這一過(guò)程通過(guò)代碼的方式進(jìn)行模擬實(shí)現(xiàn),而在應(yīng)用程序20端的頁(yè)面保持當(dāng)前打開(kāi)、未跳轉(zhuǎn)的狀態(tài)。從而使得應(yīng)用程序10登錄時(shí),不用跳轉(zhuǎn)到單點(diǎn)登錄客戶端10的登錄頁(yè)面,直接通過(guò)程序代碼進(jìn)行訪問(wèn)和驗(yàn)證。
[0040]優(yōu)選地,單點(diǎn)登錄服務(wù)器30包括服務(wù)接口,服務(wù)接口用于驗(yàn)證用戶名和密碼信息,以及基于驗(yàn)證通過(guò)后的信息生成登錄憑據(jù)。
[0041]在應(yīng)用程序20通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面之前,應(yīng)用程序20需要將賬戶的用戶名和密碼信息發(fā)送至單點(diǎn)登錄系統(tǒng)的單點(diǎn)登錄服務(wù)器30進(jìn)行驗(yàn)證,單點(diǎn)登錄服務(wù)器30接收應(yīng)用程序20發(fā)送的用戶名和密碼信息,用以驗(yàn)證用戶名和密碼信息是否合法。
[0042]當(dāng)用戶名和密碼信息驗(yàn)證通過(guò)后,基于該驗(yàn)證通過(guò)后的信息生成登錄憑據(jù)。當(dāng)然生成的登錄憑據(jù)的同時(shí),還可以隨機(jī)生成與登錄憑據(jù)唯一對(duì)應(yīng)的憑據(jù)標(biāo)識(shí)。
[0043]本發(fā)明實(shí)施例還提供了一種單點(diǎn)登錄客戶端10,該單點(diǎn)登錄客戶端10可以用于本發(fā)明實(shí)施例的單點(diǎn)登錄系統(tǒng),本發(fā)明實(shí)施例的單點(diǎn)登錄系統(tǒng)也可以采用發(fā)明實(shí)施例的本發(fā)明實(shí)施例的單點(diǎn)登錄系統(tǒng)。
[0044]圖3是根據(jù)本發(fā)明實(shí)施例的單點(diǎn)登錄客戶端的結(jié)構(gòu)示意圖。如圖3所示,該單點(diǎn)登錄客戶端包括:獲取單元U、驗(yàn)證單元12、保存單元13和發(fā)送單元14。
[0045]獲取單元11用于獲取登錄憑據(jù)。
[0046]單點(diǎn)登錄客戶端10獲取的登錄憑據(jù)可以是應(yīng)用程序20發(fā)送的登錄憑據(jù),該登錄憑據(jù)可以是由用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息等登錄信息生成的登錄憑據(jù)。例如,用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息之后,應(yīng)用程序20將用戶名和密碼信息發(fā)送給單點(diǎn)登錄系統(tǒng)的單點(diǎn)登錄服務(wù)器30,通過(guò)單點(diǎn)登錄服務(wù)器30的服務(wù)接口進(jìn)行驗(yàn)證,并生成登錄憑據(jù),再將該登錄憑據(jù)返回給應(yīng)用程序20,應(yīng)用程序20再將單點(diǎn)登錄服務(wù)器30返回的登錄憑據(jù)發(fā)送給單點(diǎn)登錄客戶端10。
[0047]驗(yàn)證單元12用于登錄憑據(jù)是否有效。
[0048]單點(diǎn)登錄客戶端10可以是接收該登錄憑據(jù)之后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證。通過(guò)單點(diǎn)登錄客戶端10驗(yàn)證該登錄憑據(jù)是否有效。由于應(yīng)用程序20傳遞過(guò)來(lái)的有可能是無(wú)效的登錄憑據(jù),例如,登錄憑據(jù)是偽造的,或者該登錄憑據(jù)與賬戶不對(duì)應(yīng),登錄憑據(jù)是其他賬戶的用戶名和密碼信息生成的,或者登錄憑據(jù)已經(jīng)過(guò)期,無(wú)法使用等。只有驗(yàn)證有效時(shí),才能使用該登錄憑據(jù)進(jìn)行單點(diǎn)登錄。其中,應(yīng)用程序20與單點(diǎn)登錄客戶端10之間的通信協(xié)議可以是使用通用的http協(xié)議。
[0049]保存單元13用于單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地。
[0050]當(dāng)驗(yàn)證登錄憑據(jù)有效時(shí),可以將驗(yàn)證頁(yè)面驗(yàn)證通過(guò)后的憑據(jù)進(jìn)行存儲(chǔ),保存在單點(diǎn)登錄客戶端10本地的緩存中,從而使得其他信任的應(yīng)用程序通過(guò)單點(diǎn)登錄系統(tǒng)進(jìn)行登錄時(shí),可以直接獲取單點(diǎn)登錄客戶端10保存的登錄憑據(jù)和用戶相關(guān)信息進(jìn)行登錄,從而達(dá)到單點(diǎn)登錄的目的。
[0051]發(fā)送單元14用于單點(diǎn)登錄客戶端將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
[0052]當(dāng)將驗(yàn)證通過(guò)后的憑據(jù)存儲(chǔ)在單點(diǎn)登錄客戶端10本地之后,單點(diǎn)登錄客戶端10將登錄憑據(jù)驗(yàn)證通過(guò)后的信息發(fā)送至應(yīng)用程序20,從而告知應(yīng)用程序20登錄憑據(jù)成功驗(yàn)證并保存。由于應(yīng)用程序20將登錄憑據(jù)傳遞給單點(diǎn)登錄客戶端10時(shí),需要考慮憑據(jù)參數(shù)是否成功傳遞,能否成功到達(dá)單點(diǎn)登錄客戶端10并驗(yàn)證存儲(chǔ)的問(wèn)題。以Silverlight應(yīng)用系統(tǒng)客戶端傳遞憑據(jù)為例,在應(yīng)用過(guò)程中,可以使用url參數(shù)傳遞憑據(jù),并解決跨域問(wèn)題以及一些細(xì)節(jié)問(wèn)題之后,單點(diǎn)登錄客戶端10才能夠成功獲取并存儲(chǔ)憑據(jù)。使用常用的cookie方式傳遞憑據(jù),單點(diǎn)登錄客戶端10未能讀取到憑據(jù)參數(shù)并存儲(chǔ),使用過(guò)程中可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。
[0053]根據(jù)本發(fā)明實(shí)施例,通過(guò)單點(diǎn)登錄客戶端10獲取登錄憑據(jù)后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證,將驗(yàn)證通過(guò)后的登錄憑據(jù)保存到本地,并返回登錄憑據(jù)驗(yàn)證通過(guò)的信息該應(yīng)用程序20,使得應(yīng)用程序20在不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他需要登錄的應(yīng)用程序可以獲取單點(diǎn)登錄客戶端10存儲(chǔ)的登錄憑據(jù)進(jìn)行登錄,其中,應(yīng)用程序20可以是應(yīng)用系統(tǒng)中的應(yīng)用程序20,解決了現(xiàn)有技術(shù)中在應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題,達(dá)到了其他信任的應(yīng)用系統(tǒng)可以獲取登錄信息進(jìn)行登錄的效果。
[0054]本發(fā)明實(shí)施例還提供了 一種單點(diǎn)登錄方法。該方法可以運(yùn)行在計(jì)算機(jī)設(shè)備上。需要說(shuō)明的是,本發(fā)明實(shí)施例的單點(diǎn)登錄方法可以通過(guò)本發(fā)明實(shí)施例所提供的單點(diǎn)登錄客戶端10來(lái)執(zhí)行,本發(fā)明實(shí)施例的單點(diǎn)登錄客戶端10也可以用于執(zhí)行本發(fā)明實(shí)施例所提供的單點(diǎn)登錄方法。
[0055]當(dāng)然,本發(fā)明實(shí)施例的單點(diǎn)登錄方法可以運(yùn)行在本發(fā)明實(shí)施例的單點(diǎn)登錄系統(tǒng)上,本發(fā)明實(shí)施例的單點(diǎn)登錄系統(tǒng)可以采用本發(fā)明實(shí)施例的單點(diǎn)登錄方法運(yùn)行。
[0056]圖4是根據(jù)本發(fā)明第一實(shí)施例的單點(diǎn)登錄方法的流程圖。如圖4所示,該單點(diǎn)登錄方法包括步驟如下:
[0057]步驟S101,單點(diǎn)登錄客戶端獲取登錄憑據(jù)。
[0058]單點(diǎn)登錄客戶端10獲取的登錄憑據(jù)可以是應(yīng)用程序20發(fā)送的登錄憑據(jù),該登錄憑據(jù)可以是由用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息等登錄信息生成的登錄憑據(jù)。例如,用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息之后,應(yīng)用程序20將用戶名和密碼信息發(fā)送給單點(diǎn)登錄服務(wù)器30,通過(guò)單點(diǎn)登錄服務(wù)器30的服務(wù)接口進(jìn)行驗(yàn)證,并生成登錄憑據(jù),再將該登錄憑據(jù)返回給應(yīng)用程序20,應(yīng)用程序20再將單點(diǎn)登錄服務(wù)器30返回的登錄憑據(jù)發(fā)送給單點(diǎn)登錄客戶端10。
[0059]步驟S102,單點(diǎn)登錄客戶端驗(yàn)證登錄憑據(jù)是否有效。
[0060]單點(diǎn)登錄客戶端10可以是接收該登錄憑據(jù)之后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證。通過(guò)單點(diǎn)登錄客戶端10驗(yàn)證該登錄憑據(jù)是否有效。由于應(yīng)用程序20傳遞過(guò)來(lái)的有可能是無(wú)效的登錄憑據(jù),例如,登錄憑據(jù)是偽造的,或者該登錄憑據(jù)與賬戶不對(duì)應(yīng),登錄憑據(jù)是其他賬戶的用戶名和密碼信息生成的,或者登錄憑據(jù)已經(jīng)過(guò)期,無(wú)法使用等。只有驗(yàn)證有效時(shí),才能使用該登錄憑據(jù)進(jìn)行單點(diǎn)登錄。其中,應(yīng)用程序20與單點(diǎn)登錄客戶端10之間的通信協(xié)議可以是使用通用的http協(xié)議。
[0061]步驟S103,單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地。
[0062]當(dāng)驗(yàn)證登錄憑據(jù)有效時(shí),可以將驗(yàn)證頁(yè)面驗(yàn)證通過(guò)后的憑據(jù)進(jìn)行存儲(chǔ),保存在單點(diǎn)登錄客戶端10本地的緩存中,從而使得其他信任的應(yīng)用程序通過(guò)單點(diǎn)登錄系統(tǒng)進(jìn)行登錄時(shí),可以直接獲取單點(diǎn)登錄客戶端10保存的登錄憑據(jù)和用戶相關(guān)信息進(jìn)行登錄,從而達(dá)到單點(diǎn)登錄的目的。
[0063]步驟S104,單點(diǎn)登錄客戶端將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
[0064]當(dāng)將驗(yàn)證通過(guò)后的憑據(jù)存儲(chǔ)在單點(diǎn)登錄客戶端10本地之后,單點(diǎn)登錄客戶端10將登錄憑據(jù)驗(yàn)證通過(guò)后的信息發(fā)送至應(yīng)用程序20,從而告知應(yīng)用程序20登錄憑據(jù)成功驗(yàn)證并保存。由于應(yīng)用程序20將登錄憑據(jù)傳遞給單點(diǎn)登錄客戶端10時(shí),需要考慮憑據(jù)參數(shù)是否成功傳遞,能否成功到達(dá)單點(diǎn)登錄客戶端10并驗(yàn)證存儲(chǔ)的問(wèn)題。以Silverlight應(yīng)用系統(tǒng)客戶端傳遞憑據(jù)為例,在應(yīng)用過(guò)程中,可以使用url參數(shù)傳遞憑據(jù),并解決跨域問(wèn)題以及一些細(xì)節(jié)問(wèn)題之后,單點(diǎn)登錄客戶端10才能夠成功獲取并存儲(chǔ)憑據(jù)。使用常用的cookie方式傳遞憑據(jù),單點(diǎn)登錄客戶端10未能讀取到憑據(jù)參數(shù)并存儲(chǔ),使用過(guò)程中可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。
[0065]根據(jù)本發(fā)明實(shí)施例,通過(guò)單點(diǎn)登錄客戶端10獲取登錄憑據(jù)后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證,將驗(yàn)證通過(guò)后的登錄憑據(jù)保存到本地,并返回登錄憑據(jù)驗(yàn)證通過(guò)的信息該應(yīng)用程序20,使得應(yīng)用程序20在不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他需要登錄的應(yīng)用程序可以獲取單點(diǎn)登錄客戶端10存儲(chǔ)的登錄憑據(jù)進(jìn)行登錄,其中,應(yīng)用程序20可以是應(yīng)用系統(tǒng)中的應(yīng)用程序20,解決了現(xiàn)有技術(shù)中在應(yīng)用系統(tǒng)不調(diào)用單點(diǎn)登錄系統(tǒng)的登錄頁(yè)面登錄時(shí),其他信任的應(yīng)用系統(tǒng)無(wú)法獲取登錄信息的問(wèn)題,達(dá)到了其他信任的應(yīng)用系統(tǒng)可以獲取登錄信息進(jìn)行登錄的效果。
[0066]優(yōu)選地,在步驟S103之后,單點(diǎn)登錄方法還包括步驟SOl和步驟S02:
[0067]步驟S01,單點(diǎn)登錄客戶端將存儲(chǔ)的憑據(jù)發(fā)送給需要登錄的應(yīng)用程序。
[0068]需要登錄的應(yīng)用程序?yàn)槠渌南嗷バ湃蔚膽?yīng)用程序,在單點(diǎn)登錄客戶端10將驗(yàn)證有效的登錄憑據(jù)存儲(chǔ)在本地之后,當(dāng)需要登錄的應(yīng)用程序進(jìn)行登錄時(shí),可以直接獲取單點(diǎn)登錄客戶端10存儲(chǔ)的憑據(jù),以便于進(jìn)行登錄。
[0069]步驟S02,需要登錄的應(yīng)用程序獲取存儲(chǔ)的憑據(jù)進(jìn)行登錄。
[0070]由于單點(diǎn)登錄客戶端10存儲(chǔ)的憑據(jù)已經(jīng)通過(guò)驗(yàn)證,因此需要登錄的應(yīng)用程序可以直接獲取存儲(chǔ)的憑據(jù)完成登錄。當(dāng)然,由于登錄憑據(jù)具有一定的時(shí)效性,在登錄憑據(jù)過(guò)期之后,需要登錄的應(yīng)用程序則無(wú)法進(jìn)行登錄。
[0071]圖5是根據(jù)本發(fā)明第二實(shí)施例的單點(diǎn)登錄方法的流程圖。該實(shí)施例的單點(diǎn)登錄方法可以作為上述實(shí)施例的單點(diǎn)登錄方法的一種優(yōu)選實(shí)施方式。如圖5所示,該單點(diǎn)登錄方法包括步驟如下:
[0072]步驟S201,應(yīng)用程序接收用戶輸入的用戶名和密碼信息。
[0073]當(dāng)用戶通過(guò)應(yīng)用程序20進(jìn)行登錄時(shí),可以通過(guò)應(yīng)用程序20的客戶端輸入賬戶的用戶名和密碼信息,以對(duì)賬戶進(jìn)行驗(yàn)證。
[0074]步驟S202,應(yīng)用程序?qū)⒂脩裘兔艽a信息發(fā)送給單點(diǎn)登錄服務(wù)器進(jìn)行驗(yàn)證,并由單點(diǎn)登錄服務(wù)器生成登錄憑據(jù)。
[0075]在應(yīng)用程序20接收用戶輸入的用戶名和密碼信息之后,將用戶名和密碼信息發(fā)送給單點(diǎn)登錄服務(wù)器30進(jìn)行驗(yàn)證,對(duì)該用戶名和密碼信息進(jìn)行驗(yàn)證,可以是通過(guò)單點(diǎn)登錄系統(tǒng)的服務(wù)接口進(jìn)行驗(yàn)證,以驗(yàn)證用戶名和密碼信息是否合法,當(dāng)驗(yàn)證通過(guò)時(shí),即表明用戶輸入的賬戶的用戶名和密碼信息合法,則可以基于該用戶名和密碼信息生成登錄憑據(jù)。當(dāng)驗(yàn)證失敗時(shí),即表明用戶輸入的賬戶的用戶名和密碼信息不合法,可以返回驗(yàn)證失敗的信息給應(yīng)用程序20。
[0076]其中,登錄憑據(jù)可以包括憑據(jù)信息和憑據(jù)標(biāo)識(shí),憑據(jù)標(biāo)識(shí)可以作為識(shí)別標(biāo)識(shí),通過(guò)該憑據(jù)標(biāo)識(shí)可以定位用戶信息,例如用戶的用戶名或者用戶的瀏覽器信息或者用戶的IP地址等。同時(shí),憑據(jù)標(biāo)識(shí)也是各應(yīng)用程序20查找和驗(yàn)證用戶信息的媒介。憑據(jù)標(biāo)識(shí)可以是隨機(jī)生成的具有唯一性的標(biāo)識(shí),具有一定的時(shí)效性。
[0077]步驟S203,應(yīng)用程序獲取登錄憑據(jù)。
[0078]在單點(diǎn)登錄服務(wù)器30生成登錄憑據(jù)之后,應(yīng)用程序20可以從單點(diǎn)登錄服務(wù)器30獲取的登錄憑據(jù),從而可以將登錄憑據(jù)傳遞給單點(diǎn)登錄客戶端10進(jìn)行驗(yàn)證。獲取的登錄憑據(jù)可以是憑據(jù)標(biāo)識(shí)。
[0079]需要說(shuō)明的是,本發(fā)明實(shí)施例中對(duì)登錄憑據(jù)的傳遞均可以是傳遞生成的憑據(jù)標(biāo)識(shí),由于憑據(jù)標(biāo)識(shí)為識(shí)別標(biāo)識(shí),相對(duì)于登錄憑據(jù)的憑據(jù)信息而言,數(shù)據(jù)容量小,從而減小數(shù)據(jù)的傳輸量。
[0080]步驟S204,應(yīng)用程序?qū)@取到的憑據(jù)傳遞至單點(diǎn)登錄客戶端。
[0081]在獲取到登錄憑據(jù)之后,應(yīng)用程序20將該登錄憑據(jù)傳遞至單點(diǎn)登錄客戶端10,以便于單點(diǎn)登錄客戶端10對(duì)該登錄憑據(jù)進(jìn)行驗(yàn)證。
[0082]步驟S205,單點(diǎn)登錄客戶端獲取登錄憑據(jù)。
[0083]單點(diǎn)登錄客戶端10獲取的登錄憑據(jù)可以是應(yīng)用程序20發(fā)送的登錄憑據(jù),該登錄憑據(jù)可以是由用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息等登錄信息生成的登錄憑據(jù)。例如,用戶通過(guò)應(yīng)用程序20輸入的賬戶的用戶名和密碼信息之后,應(yīng)用程序20將用戶名和密碼信息發(fā)送給單點(diǎn)登錄系統(tǒng)的單點(diǎn)登錄服務(wù)器30,通過(guò)單點(diǎn)登錄服務(wù)器30的服務(wù)接口進(jìn)行驗(yàn)證,并生成登錄憑據(jù),再將該登錄憑據(jù)發(fā)返回給應(yīng)用程序20,應(yīng)用程序20再將單點(diǎn)登錄服務(wù)器30返回的登錄憑據(jù)發(fā)送給單點(diǎn)登錄客戶端10。
[0084]步驟S206,單點(diǎn)登錄客戶端驗(yàn)證登錄憑據(jù)是否有效。
[0085]單點(diǎn)登錄客戶端10可以是接收該登錄憑據(jù)之后,對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證。通過(guò)單點(diǎn)登錄客戶端10驗(yàn)證該登錄憑據(jù)是否有效。由于應(yīng)用程序20傳遞過(guò)來(lái)的有可能是無(wú)效的登錄憑據(jù),例如,登錄憑據(jù)是偽造的,或者該登錄憑據(jù)與賬戶不對(duì)應(yīng),登錄憑據(jù)是其他賬戶的用戶名和密碼信息生成的,或者登錄憑據(jù)已經(jīng)過(guò)期,無(wú)法使用等。只有驗(yàn)證有效時(shí),才能使用該登錄憑據(jù)進(jìn)行單點(diǎn)登錄。其中,應(yīng)用程序20與單點(diǎn)登錄客戶端10之間的通信協(xié)議可以是使用通用的http協(xié)議。
[0086]步驟S207,單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地。
[0087]當(dāng)驗(yàn)證登錄憑據(jù)有效時(shí),可以將驗(yàn)證頁(yè)面驗(yàn)證通過(guò)后的憑據(jù)進(jìn)行存儲(chǔ),保存在單點(diǎn)登錄客戶端10緩存中,從而使得其他信任的應(yīng)用程序通過(guò)單點(diǎn)登錄系統(tǒng)進(jìn)行登錄時(shí),可以直接獲取單點(diǎn)登錄客戶端10保存的登錄憑據(jù)和用戶相關(guān)信息進(jìn)行登錄,從而達(dá)到單點(diǎn)登錄的目的。
[0088]步驟S208,單點(diǎn)登錄客戶端將登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
[0089]當(dāng)將驗(yàn)證通過(guò)后的憑據(jù)存儲(chǔ)在單點(diǎn)登錄客戶端10本地之后,單點(diǎn)登錄客戶端10將登錄憑據(jù)驗(yàn)證通過(guò)后的信息發(fā)送至應(yīng)用程序20,從而告知應(yīng)用程序20登錄憑據(jù)成功驗(yàn)證并保存。由于應(yīng)用程序20將登錄憑據(jù)傳遞給單點(diǎn)登錄客戶端10時(shí),需要考慮憑據(jù)參數(shù)是否成功傳遞,能否成功到達(dá)單點(diǎn)登錄客戶端10并驗(yàn)證存儲(chǔ)的問(wèn)題。以Silverlight應(yīng)用系統(tǒng)客戶端傳遞憑據(jù)為例,在應(yīng)用過(guò)程中,可以使用url參數(shù)傳遞憑據(jù),并解決跨域問(wèn)題以及一些細(xì)節(jié)問(wèn)題之后,單點(diǎn)登錄客戶端10才能夠成功獲取并存儲(chǔ)憑據(jù)。使用常用的cookie方式傳遞憑據(jù),單點(diǎn)登錄客戶端10未能讀取到憑據(jù)參數(shù)并存儲(chǔ),使用過(guò)程中可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。
[0090]優(yōu)選地,單點(diǎn)登錄客戶端包括驗(yàn)證頁(yè)面,在步驟SlOl之前,單點(diǎn)登錄方法還包括
[0091]步驟Sll,應(yīng)用程序通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面。
[0092]應(yīng)用程序20可以通過(guò)代碼模擬訪問(wèn)單點(diǎn)登錄客戶端的驗(yàn)證頁(yè)面,可以是通過(guò)代碼訪問(wèn)單點(diǎn)登錄客戶端10的驗(yàn)證頁(yè)面,而不用跳轉(zhuǎn)到單點(diǎn)登錄客戶端10,以便于實(shí)現(xiàn)直接通過(guò)代碼對(duì)登錄憑據(jù)進(jìn)行驗(yàn)證和存儲(chǔ)共享。
[0093]步驟S12,應(yīng)用程序?qū)⒌卿洃{據(jù)發(fā)送給驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
[0094]在訪問(wèn)驗(yàn)證頁(yè)面之后,應(yīng)用程序20將登錄憑據(jù)發(fā)送給驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
[0095]根據(jù)本發(fā)明實(shí)施例,將訪問(wèn)單點(diǎn)登錄客戶端10的驗(yàn)證頁(yè)面并驗(yàn)證和存儲(chǔ)或更新用戶信息后返回應(yīng)用程序20這一過(guò)程通過(guò)代碼的方式進(jìn)行模擬實(shí)現(xiàn),而在應(yīng)用程序20端的頁(yè)面保持當(dāng)前打開(kāi)、未跳轉(zhuǎn)的狀態(tài)。從而使得應(yīng)用程序20登錄時(shí),不用跳轉(zhuǎn)到單點(diǎn)登錄客戶端10的登錄頁(yè)面,直接通過(guò)代碼進(jìn)行訪問(wèn)和驗(yàn)證。
[0096]優(yōu)選地,在步驟Sll之前,單點(diǎn)登錄方法還包括以下步驟:
[0097]步驟S21,單點(diǎn)登錄服務(wù)器接收應(yīng)用程序發(fā)送的用戶名和密碼信息,單點(diǎn)登錄系統(tǒng)的單點(diǎn)登錄服務(wù)器包括服務(wù)接口。
[0098]在應(yīng)用程序20通過(guò)代碼訪問(wèn)驗(yàn)證頁(yè)面之前,應(yīng)用程序20需要將賬戶的用戶名和密碼信息發(fā)送至單點(diǎn)登錄系統(tǒng)的單點(diǎn)登錄服務(wù)器進(jìn)行驗(yàn)證,單點(diǎn)登錄服務(wù)器30接收應(yīng)用程序20發(fā)送的用戶名和密碼信息,用以驗(yàn)證用戶名和密碼信息是否合法。
[0099]步驟S22,單點(diǎn)登錄服務(wù)器接收用戶名和密碼信息通過(guò)服務(wù)接口進(jìn)行驗(yàn)證。
[0100]用戶名和密碼信息可以是通過(guò)單點(diǎn)登錄服務(wù)器30的服務(wù)接口來(lái)驗(yàn)證,驗(yàn)證用戶名和密碼信息能否通過(guò),即,驗(yàn)證用戶名和密碼信息是否合法,當(dāng)驗(yàn)證出用戶名和密碼信息合法時(shí),則驗(yàn)證通過(guò);當(dāng)驗(yàn)證出用戶名和密碼信息不合法時(shí),則驗(yàn)證失敗,向應(yīng)用程序20返回驗(yàn)證失敗的信息。
[0101]步驟S23,單點(diǎn)登錄服務(wù)器基于驗(yàn)證通過(guò)后的信息生成登錄憑據(jù)。
[0102]當(dāng)用戶名和密碼信息驗(yàn)證通過(guò)后,基于該驗(yàn)證通過(guò)后的信息生成登錄憑據(jù)。當(dāng)然生成的登錄憑據(jù)的同時(shí),還可以隨機(jī)生成與登錄憑據(jù)唯一對(duì)應(yīng)的憑據(jù)標(biāo)識(shí)。
[0103]步驟S24,單點(diǎn)登錄服務(wù)器保存驗(yàn)證通過(guò)后的信息和登錄憑據(jù)并返回登錄憑據(jù)至應(yīng)用程序。
[0104]當(dāng)驗(yàn)證通過(guò)后,單點(diǎn)登錄服務(wù)器30將驗(yàn)證通過(guò)后的信息和登錄憑據(jù)進(jìn)行保存,其中驗(yàn)證通過(guò)后的信息包括用戶相關(guān)的信息。將保存后的登錄憑據(jù)返回給應(yīng)用程序20,從而應(yīng)用程序20可以將該登錄憑據(jù)傳遞給單點(diǎn)登錄客戶端10進(jìn)行驗(yàn)證。
[0105]本發(fā)明實(shí)施例中的單點(diǎn)登錄方法及系統(tǒng)和單點(diǎn)登錄客戶端10中描述的驗(yàn)證頁(yè)面也可以是單點(diǎn)登錄客戶端10的驗(yàn)證頁(yè)面,因此,當(dāng)應(yīng)用程序20進(jìn)行登錄時(shí),需要訪問(wèn)單點(diǎn)登錄客戶端10進(jìn)行驗(yàn)證或者登錄,單點(diǎn)登錄系統(tǒng)中所有信任的應(yīng)用程序20都主要通過(guò)單點(diǎn)登錄客戶端10登錄,并共享一套賬戶系統(tǒng)(由單點(diǎn)登錄系統(tǒng)管理,應(yīng)用程序20本身沒(méi)有自己的賬戶),共享一份登錄憑據(jù)。因此,單點(diǎn)登錄客戶端10可以用于驗(yàn)證用戶登錄信息、生成用戶憑據(jù)、發(fā)送給應(yīng)用系統(tǒng),以及響應(yīng)應(yīng)用系統(tǒng)的驗(yàn)證請(qǐng)求、驗(yàn)證用戶憑據(jù)等。
[0106]本發(fā)明實(shí)施例的單點(diǎn)登錄方法及系統(tǒng)和單點(diǎn)登錄客戶端10,可以是針對(duì)于網(wǎng)站類型的應(yīng)用程序20,主要針對(duì)于相同環(huán)境下,(同電腦,同瀏覽器)才能使用同一賬戶統(tǒng)一登錄,其中,數(shù)據(jù)的存儲(chǔ)主要是在緩存中,即,單點(diǎn)登錄客戶端10憑據(jù)存儲(chǔ)在緩存中,只有當(dāng)前用戶在當(dāng)前電腦、當(dāng)前瀏覽器下可以訪問(wèn)到憑據(jù),關(guān)閉或更換瀏覽器、更換電腦獲取不到單點(diǎn)登錄客戶端10的緩存信息。訪問(wèn)之前首先向單點(diǎn)登錄系統(tǒng)驗(yàn)證用戶身份后才能繼續(xù)訪問(wèn)。各個(gè)應(yīng)用程序20之間沒(méi)有登錄憑據(jù)的交流,但是可以通過(guò)單點(diǎn)登錄系統(tǒng)共用一個(gè)登錄狀態(tài)。
[0107]當(dāng)然,非網(wǎng)站的應(yīng)用程序20也可以通過(guò)本發(fā)明實(shí)施例中的單點(diǎn)登錄方法及系統(tǒng)和單點(diǎn)登錄客戶端10進(jìn)行登錄,在登錄驗(yàn)證時(shí),因不能直接和網(wǎng)頁(yè)進(jìn)行交互,只能使用網(wǎng)站應(yīng)用程序20的登錄窗口的登錄驗(yàn)證方式進(jìn)行驗(yàn)證。
[0108]需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。[0109]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0110]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種單點(diǎn)登錄方法,其特征在于,包括: 單點(diǎn)登錄客戶端獲取登錄憑據(jù); 所述單點(diǎn)登錄客戶端驗(yàn)證所述登錄憑據(jù)是否有效; 所述單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地;以及 所述單點(diǎn)登錄客戶端將所述登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的單點(diǎn)登錄方法,其特征在于,在單點(diǎn)登錄客戶端獲取登錄憑據(jù)之前,所述單點(diǎn)登錄方法還包括: 所述應(yīng)用程序接收用戶輸入的用戶名和密碼信息; 所述應(yīng)用程序?qū)⑺鲇脩裘退雒艽a信息發(fā)送給單點(diǎn)登錄服務(wù)器進(jìn)行驗(yàn)證,并由所述單點(diǎn)登錄服務(wù)器生成登錄憑據(jù); 所述應(yīng)用程序獲取所述登錄憑據(jù);以及 所述應(yīng)用程序?qū)@取到的憑據(jù)傳遞至所述單點(diǎn)登錄客戶端。
3.根據(jù)權(quán)利要求1所述的單點(diǎn)登錄方法,其特征在于,所述單點(diǎn)登錄客戶端包括驗(yàn)證頁(yè)面,在單點(diǎn)登錄客戶端獲取登錄憑據(jù)之前,所述單點(diǎn)登錄方法還包括: 所述應(yīng)用程序通過(guò)代碼訪問(wèn)所述驗(yàn)證頁(yè)面;以及 所述應(yīng)用程序?qū)⑺龅卿洃{據(jù)發(fā)送給所述驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
4.根據(jù)權(quán)利要求3所述 的單點(diǎn)登錄方法,其特征在于,在所述應(yīng)用程序通過(guò)代碼訪問(wèn)所述驗(yàn)證頁(yè)面之前,所述單點(diǎn)登錄方法還包括: 單點(diǎn)登錄服務(wù)器接收所述應(yīng)用程序發(fā)送的用戶名和密碼信息,所述單點(diǎn)登錄服務(wù)器包括服務(wù)接口; 所述單點(diǎn)登錄服務(wù)器接收所述用戶名和密碼信息通過(guò)所述服務(wù)接口進(jìn)行驗(yàn)證; 所述單點(diǎn)登錄服務(wù)器基于驗(yàn)證通過(guò)后的信息生成所述登錄憑據(jù);以及所述單點(diǎn)登錄服務(wù)器保存所述驗(yàn)證通過(guò)后的信息和所述登錄憑據(jù)并返回所述登錄憑據(jù)至所述應(yīng)用程序。
5.根據(jù)權(quán)利要求1所述的單點(diǎn)登錄方法,其特征在于,在所述單點(diǎn)登錄客戶端將驗(yàn)證有效的憑據(jù)保存到本地之后,所述單點(diǎn)登錄方法還包括: 所述單點(diǎn)登錄客戶端將存儲(chǔ)的憑據(jù)發(fā)送給需要登錄的應(yīng)用程序;以及 所述需要登錄的應(yīng)用程序獲取所述存儲(chǔ)的憑據(jù)進(jìn)行登錄。
6.一種單點(diǎn)登錄系統(tǒng),其特征在于,包括單點(diǎn)登錄客戶端和應(yīng)用程序,其中: 所述單點(diǎn)登錄客戶端用于獲取登錄憑據(jù),驗(yàn)證所述登錄憑據(jù)是否有效,將驗(yàn)證有效的憑據(jù)保存到本地,以及將所述登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至所述應(yīng)用程序。
7.根據(jù)權(quán)利要求6所述的單點(diǎn)登錄系統(tǒng),其特征在于,所述單點(diǎn)登錄系統(tǒng)還包括單點(diǎn)登錄服務(wù)器,所述應(yīng)用程序還用于在所述單點(diǎn)登錄客戶端獲取登錄憑據(jù)之前,接收用戶輸入的用戶名和密碼信息,將所述用戶名和密碼信息發(fā)送給所述單點(diǎn)登錄服務(wù)器進(jìn)行驗(yàn)證,所述單點(diǎn)登錄服務(wù)器基于驗(yàn)證通過(guò)后的信息生成所述登錄憑據(jù),所述應(yīng)用程序獲取所述登錄憑據(jù),將獲取到的憑據(jù)傳遞至所述單點(diǎn)登錄客戶端。
8.根據(jù)權(quán)利要求7所述的單點(diǎn)登錄系統(tǒng),其特征在于,所述單點(diǎn)登錄客戶端包括驗(yàn)證頁(yè)面,所述應(yīng)用程序還用于通過(guò)代碼訪問(wèn)所述驗(yàn)證頁(yè)面,將所述登錄憑據(jù)發(fā)送給所述驗(yàn)證頁(yè)面進(jìn)行驗(yàn)證。
9.根據(jù)權(quán)利要求7所述的單點(diǎn)登錄系統(tǒng),其特征在于,所述單點(diǎn)登錄服務(wù)器包括服務(wù)接口,所述服務(wù)接口用于驗(yàn)證用戶名和密碼信息,以及基于驗(yàn)證通過(guò)后的信息生成所述登錄憑據(jù)。
10.一種單點(diǎn)登錄客戶端,其特征在于,包括: 獲取單元,用于獲取登錄憑據(jù); 驗(yàn)證單元,用于所述登錄憑據(jù)是否有效; 保存單元,用于將驗(yàn)證有效的憑據(jù)保存到本地;以及 發(fā)送單元,用于將將所述登錄憑據(jù)驗(yàn)證通過(guò)的信息返回至應(yīng)用程序。
【文檔編號(hào)】G06F21/31GK103634111SQ201310585995
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年11月19日 優(yōu)先權(quán)日:2013年11月19日
【發(fā)明者】陳改靜, 黃勇堅(jiān) 申請(qǐng)人:北京國(guó)雙科技有限公司