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

一種基于無狀態(tài)服務(wù)的認證方法、服務(wù)器及系統(tǒng)與流程

文檔序號:12624712閱讀:281來源:國知局
一種基于無狀態(tài)服務(wù)的認證方法、服務(wù)器及系統(tǒng)與流程

本發(fā)明涉及無狀態(tài)服務(wù)認證技術(shù)領(lǐng)域,更具體地說,涉及一種基于無狀態(tài)服務(wù)的認證方法、服務(wù)器及系統(tǒng)。



背景技術(shù):

http協(xié)議是一種無狀態(tài)的協(xié)議,這就意味著如果用戶需向應(yīng)用提供了用戶名和密碼來進行用戶認證,且在下一次請求時,用戶再次進行用戶認證才行,因為根據(jù)http協(xié)議,我們并不能知道是哪個用戶發(fā)出的請求,所以為了讓應(yīng)用能識別是哪個用戶發(fā)出的請求,我們只能在服務(wù)器存儲一份用戶登錄的信息,這份登錄信息會在響應(yīng)時傳遞給瀏覽器,告訴其保存為cookie,以便下次請求時發(fā)送給我們的應(yīng)用,這樣我們的應(yīng)用就能識別請求來自哪個用戶了,這就是傳統(tǒng)的基于session認證。但是這種基于session的認證使應(yīng)用本身很難得到擴展,隨著不同客戶端用戶的增加,獨立的服務(wù)器已無法承載更多的用戶,而這時候基于session認證應(yīng)用的問題就會暴露出來。因此,如何實現(xiàn)無狀態(tài)服務(wù)的認證,是本領(lǐng)域技術(shù)人員需要解決的問題。



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

本發(fā)明的目的在于提供一種基于無狀態(tài)服務(wù)的認證方法、服務(wù)器及系統(tǒng),以實現(xiàn)無狀態(tài)服務(wù)的認證。

為實現(xiàn)上述目的,本發(fā)明實施例提供了如下技術(shù)方案:

一種基于無狀態(tài)服務(wù)的認證方法,包括:

接收客戶端發(fā)送的攜帶標記信息的請求;其中,所述標記信息與用戶身份信息相對應(yīng);

解析所述標記信息,生成與所述標記信息對應(yīng)的用戶身份信息;

根據(jù)所述用戶身份信息響應(yīng)所述請求。

其中,所述標記信息的生成方法包括:

接收客戶端發(fā)送的用戶身份信息,并對所述用戶身份信息進行驗證;

若驗證成功,則利用JWT技術(shù)生成與所述用戶身份信息對應(yīng)的標記信息,并發(fā)送至客戶端,以使客戶端將所述標記信息存儲在cookie中。

其中,所述接收客戶端發(fā)送的用戶身份信息,并對所述用戶身份信息進行驗證,包括:

接收客戶端發(fā)送的用戶名和登陸密碼;

從用戶身份信息庫中查找是否存在所述用戶名;

若存在,則判斷所述登陸密碼是否正確;若不存在,則向所述客戶端返回所述用戶身份信息無效的提示信息;

若所述登陸密碼正確,則判定所述用戶身份信息驗證成功。

其中,所述利用JWT技術(shù)生成與所述用戶身份信息對應(yīng)的標記信息,包括:

利用JWT技術(shù),將所述用戶身份信息裝載至Claims對象,對所述Claims對象配置標記的有效期時間和加密算法,并通過compact方法生成所述標記信息。

一種基于無狀態(tài)服務(wù)的認證服務(wù)器,包括:

第一接收模塊,用于接收客戶端發(fā)送的攜帶標記信息的請求;其中,所述標記信息與用戶身份信息相對應(yīng);

解析模塊,用于解析所述標記信息,生成與所述標記信息對應(yīng)的用戶身份信息;

響應(yīng)模塊,用于根據(jù)所述用戶身份信息響應(yīng)所述請求。

其中,所述認證服務(wù)器還包括:

第二接收模塊,用于接收客戶端發(fā)送的用戶身份信息;

驗證模塊,用于對所述用戶身份信息進行驗證;

標記信息生成模塊,用于在所述用戶身份信息驗證成功后,利用JWT技術(shù)生成與所述用戶身份信息對應(yīng)的標記信息,并發(fā)送至客戶端,以使客戶端將所述標記信息存儲在cookie中。

其中,所述第二接收模塊接收的用戶身份信息包括用戶名和登陸密碼;

所述驗證模塊包括:

查找單元,用于從用戶身份信息庫中查找是否存在所述用戶名;

發(fā)送單元,用于在所述用戶身份信息庫中不存在所述用戶名時,向所述客戶端返回所述用戶身份信息無效的提示信息;

判斷單元,用于在所述用戶身份信息庫中存在所述用戶名時,判斷所述登陸密碼是否正確;若所述登陸密碼正確,則判定所述用戶身份信息驗證成功。

其中,所述標記信息生成模塊利用JWT技術(shù),將所述用戶身份信息裝載至Claims對象,對所述Claims對象配置標記的有效期時間和加密算法,并通過compact方法生成所述標記信息。

一種基于無狀態(tài)服務(wù)的認證系統(tǒng),包括上述任意一項所述的認證服務(wù)器,還包括:

客戶端,用于向所述認證服務(wù)器發(fā)送攜帶標記信息的請求。

其中,所述客戶端包括:

發(fā)送模塊,用于向所述認證服務(wù)器發(fā)送用戶身份信息;

存儲模塊,用于接收所述認證服務(wù)器發(fā)送的與所述用戶身份信息對應(yīng)的標記信息,并將所述標記信息存儲至cookie。

通過以上方案可知,本發(fā)明實施例提供的一種基于無狀態(tài)服務(wù)的認證方法,包括:接收客戶端發(fā)送的攜帶標記信息的請求;其中,所述標記信息與用戶身份信息相對應(yīng);解析所述標記信息,生成與所述標記信息對應(yīng)的用戶身份信息;根據(jù)所述用戶身份信息響應(yīng)所述請求;可見,在本實施例中,將與用戶身份信息對應(yīng)的標記信息存儲至客戶端,不需服務(wù)器保存會話信息,能實現(xiàn)服務(wù)器的輕負載,易擴展,且標記信息結(jié)構(gòu)簡單易傳輸;本發(fā)明還公開了一種基于無狀態(tài)服務(wù)的認證服務(wù)器及系統(tǒng),同樣能實現(xiàn)上述技術(shù)效果。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例公開的一種基于無狀態(tài)服務(wù)的認證方法流程示意圖;

圖2為本發(fā)明實施例公開的認證流程示意圖;

圖3為本發(fā)明實施例公開的一種基于無狀態(tài)服務(wù)的認證系統(tǒng)結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例公開了一種基于無狀態(tài)服務(wù)的認證方法、服務(wù)器及系統(tǒng),以實現(xiàn)無狀態(tài)服務(wù)的認證。

參見圖1,本發(fā)明實施例提供的一種基于無狀態(tài)服務(wù)的認證方法,包括:

S101、接收客戶端發(fā)送的攜帶標記信息的請求;其中,所述標記信息與用戶身份信息相對應(yīng);

需要說明的是,所述標記信息的生成方法包括:

步驟一、接收客戶端發(fā)送的用戶身份信息,并對所述用戶身份信息進行驗證;

具體的,本方案中的步驟一包括:

1)接收客戶端發(fā)送的用戶名和登陸密碼;

2)從用戶身份信息庫中查找是否存在所述用戶名;若存在,則判斷所述登陸密碼是否正確;若不存在,則向所述客戶端返回所述用戶身份信息無效的提示信息;

3)若所述登陸密碼正確,則判定所述用戶身份信息驗證成功。

需要說明的是,參見圖2,本方案中的用戶身份信息包括用戶名和登錄密碼,用戶在首次登陸時需要將用戶身份信息發(fā)送至服務(wù)器,通過服務(wù)器對用戶身份信息進行驗證,若通過驗證,則向客戶端發(fā)送一個能代表已經(jīng)驗證通過的標記信息,這個標記信息中包含了該用戶的登錄信息,并將該標記信息存儲至客戶端,以使客戶端每次向服務(wù)器發(fā)送請求時附上這個標記,既能代表用戶身份、又能表征該用戶身份已被驗證。

步驟二、若驗證成功,則利用JWT技術(shù)生成與所述用戶身份信息對應(yīng)的標記信息,并發(fā)送至客戶端,以使客戶端將所述標記信息存儲在cookie中。

其中,所述利用JWT技術(shù)生成與所述用戶身份信息對應(yīng)的標記信息,包括:利用JWT技術(shù),將所述用戶身份信息裝載至Claims對象,對所述Claims對象配置標記的有效期時間和加密算法,并通過compact方法生成所述標記信息。

需要說明的是,本方案中的標記信息可以使用JWT(json格式網(wǎng)絡(luò)令牌)技術(shù)實現(xiàn),具體的實現(xiàn)方法是:通過createTokenForUser方法把接收到的用戶登錄信息裝載到Claims對象,Jwts對對象配置標記的有效期時間和加密算法,最后通過compact方法生成帶有用戶登錄信息的標記信息返回至客戶端,并儲存在cookie中。

S102、解析所述標記信息,生成與所述標記信息對應(yīng)的用戶身份信息;

S103、根據(jù)所述用戶身份信息響應(yīng)所述請求。

具體的,由于服務(wù)器接收到標記信息則代表與標記信息對應(yīng)的用戶身份信息驗證成功,因此無需在服務(wù)器上另存所有用戶的登錄信息,從而減輕了服務(wù)器的負載,并且通過parseUserFromToken方法對標記信息進行解析,即通過相同的加密算法解析出用戶登錄信息,并根據(jù)解析出的登錄信息向客戶端返回響應(yīng)信息。

下面對本發(fā)明實施例提供的認證服務(wù)器進行介紹,下文描述的認證服務(wù)器與上文描述的認證方法可以相互參照。

參見圖3,本發(fā)明實施例提供的一種基于無狀態(tài)服務(wù)的認證服務(wù)器,包括:

第一接收模塊100,用于接收客戶端發(fā)送的攜帶標記信息的請求;其中,所述標記信息與用戶身份信息相對應(yīng);

解析模塊200,用于解析所述標記信息,生成與所述標記信息對應(yīng)的用戶身份信息;

響應(yīng)模塊300,用于根據(jù)所述用戶身份信息響應(yīng)所述請求。

基于上述技術(shù)方案,本方案包括:

第二接收模塊,用于接收客戶端發(fā)送的用戶身份信息;

驗證模塊,用于對所述用戶身份信息進行驗證;

標記信息生成模塊,用于在所述用戶身份信息驗證成功后,利用JWT技術(shù)生成與所述用戶身份信息對應(yīng)的標記信息,并發(fā)送至客戶端,以使客戶端將所述標記信息存儲在cookie中。

基于上述技術(shù)方案,所述第二接收模塊接收的用戶身份信息包括用戶名和登陸密碼;

所述驗證模塊包括:

查找單元,用于從用戶身份信息庫中查找是否存在所述用戶名;

發(fā)送單元,用于在所述用戶身份信息庫中不存在所述用戶名時,向所述客戶端返回所述用戶身份信息無效的提示信息;

判斷單元,用于在所述用戶身份信息庫中存在所述用戶名時,判斷所述登陸密碼是否正確;若所述登陸密碼正確,則判定所述用戶身份信息驗證成功。

基于上述技術(shù)方案,所述標記信息生成模塊利用JWT技術(shù),將所述用戶身份信息裝載至Claims對象,對所述Claims對象配置標記的有效期時間和加密算法,并通過compact方法生成所述標記信息。

本發(fā)明實施例提供一種基于無狀態(tài)服務(wù)的認證系統(tǒng),包括上述實施例所述的認證服務(wù)器,還包括:

客戶端,用于向所述認證服務(wù)器發(fā)送攜帶標記信息的請求。

其中,所述客戶端包括:

發(fā)送模塊,用于向所述認證服務(wù)器發(fā)送用戶身份信息;

存儲模塊,用于接收所述認證服務(wù)器發(fā)送的與所述用戶身份信息對應(yīng)的標記信息,并將所述標記信息存儲至cookie。

本發(fā)明實施例提供的一種基于無狀態(tài)服務(wù)的認證方法,包括:接收客戶端發(fā)送的攜帶標記信息的請求;其中,所述標記信息與用戶身份信息相對應(yīng);解析所述標記信息,生成與所述標記信息對應(yīng)的用戶身份信息;根據(jù)所述用戶身份信息響應(yīng)所述請求;可見,在本實施例中,將與用戶身份信息對應(yīng)的標記信息存儲至客戶端,不需服務(wù)器保存會話信息,能實現(xiàn)服務(wù)器的輕負載,易擴展,且標記信息結(jié)構(gòu)簡單易傳輸;本發(fā)明還公開了一種基于無狀態(tài)服務(wù)的認證服務(wù)器及系統(tǒng),同樣能實現(xiàn)上述技術(shù)效果。

本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。

對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1