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

一種客戶端登錄方法與流程

文檔序號(hào):11234683閱讀:908來源:國知局
一種客戶端登錄方法與流程

本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別涉及一種客戶端登錄方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的應(yīng)用客戶端出現(xiàn)在人們的生活中,用戶通過登錄這些應(yīng)用客戶端從互聯(lián)網(wǎng)獲取服務(wù)。通常,用戶登錄客戶端經(jīng)過密碼驗(yàn)證之后就可以登錄至客戶端對應(yīng)的后臺(tái)服務(wù)器,這樣可能會(huì)存在一個(gè)賬戶在兩個(gè)客戶端登錄的情況,對用戶的信息安全來說是極大的隱患。



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

本發(fā)明提供了一種客戶端登錄方法,解決了現(xiàn)有技術(shù)用戶在登錄客戶端時(shí)不能保障用戶信息的安全性的技術(shù)問題。

本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種客戶端登錄方法,包括:

s1、接收并解析客戶端發(fā)送的用戶的登錄請求事件,得到登錄信息,所述登錄信息包括客戶端類型、客戶端版本信息和加密驗(yàn)證信息,所述加密驗(yàn)證信息包括:用戶id和密碼;

s2、判斷會(huì)話緩存中是否存在所述用戶的歷史登錄信息,如果存在則根據(jù)所述歷史登錄信息對所述用戶id進(jìn)行初步驗(yàn)證,如果不存在則根據(jù)所述用戶id從數(shù)據(jù)庫中獲取所述用戶的用戶對象信息,根據(jù)所述用戶對象信息對所述用戶id進(jìn)行初步驗(yàn)證;

s3、初步驗(yàn)證成功后,在連接注冊子服務(wù)對象的驗(yàn)證服務(wù)對象中對所述加密驗(yàn)證信息進(jìn)行密碼驗(yàn)證,密碼驗(yàn)證成功后對所述客戶端版本信息進(jìn)行客戶端版本驗(yàn)證;

s4、客戶端版本驗(yàn)證成功后,為所述用戶創(chuàng)建會(huì)話上下文對象,在所述會(huì)話上下文對象中創(chuàng)建所述用戶的標(biāo)簽值,所述標(biāo)簽值包括:客戶端類型、用戶id、服務(wù)器名稱和當(dāng)前時(shí)間;

s5、判斷所述連接注冊子服務(wù)對象中是否存在所述用戶id,如是則返回第一錯(cuò)誤提示信息,否則在所述連接注冊子服務(wù)對象中為所述用戶進(jìn)行注冊登錄。

本發(fā)明的有益效果是:本技術(shù)方案對用戶的登錄信息進(jìn)行初步驗(yàn)證、密碼驗(yàn)證以及客戶端版本驗(yàn)證,保證了用戶的登錄信息的安全性。

在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。

優(yōu)選地,步驟s5中,在所述連接注冊子服務(wù)對象中為所述用戶進(jìn)行注冊登錄的方法包括:

創(chuàng)建所述用戶的會(huì)話模型對象,根據(jù)所述用戶id加載所述用戶的偏好屬性設(shè)置值,將所述用戶的會(huì)話狀態(tài)設(shè)置為活動(dòng)狀態(tài),并根據(jù)所述用戶id更新所述會(huì)話緩存和所述數(shù)據(jù)庫。

優(yōu)選地,所述登錄信息還包括:客戶端的連接id、客戶端ip地址、客戶端mac地址和客戶端版本信息。

優(yōu)選地,步驟s2中,根據(jù)所述歷史登錄信息對所述用戶id進(jìn)行初步驗(yàn)證之前,還包括:

a1、檢查所述歷史登錄信息中包括的歷史登錄狀態(tài);

a2、如果所述歷史登錄狀態(tài)為活動(dòng)狀態(tài),則生成并推送用于詢問用戶是否強(qiáng)制登錄的客戶端事件,如果所述用戶選擇強(qiáng)制登錄則注銷所述用戶id對應(yīng)的歷史登錄事件,否則退出執(zhí)行;

a3、如果所述歷史登錄狀態(tài)為非活動(dòng)狀態(tài),則將所述歷史登錄信息標(biāo)識(shí)為廢棄狀態(tài);

a4、如果所述歷史登錄狀態(tài)為正在注銷中,則等待正在注銷中的所述用戶id對應(yīng)的歷史登錄事件注銷完成。

優(yōu)選地,通過預(yù)設(shè)線程定期從所述會(huì)話緩存中回收標(biāo)識(shí)為廢棄狀態(tài)的所有歷史登錄信息。

優(yōu)選地,步驟s2中,對所述用戶id進(jìn)行初步驗(yàn)證的方法包括:

b1、根據(jù)所述歷史登錄信息或所述用戶對象信息判斷所述用戶id是否被鎖定,如果被鎖定則判斷是否超過解鎖時(shí)間,如果超過則執(zhí)行步驟b3,如果未超過則返回第二錯(cuò)誤提示信息;

b2、如果沒有被鎖定則判斷所述用戶id的連續(xù)登錄錯(cuò)誤次數(shù)是否超過預(yù)設(shè)次數(shù),如是則對所述用戶id進(jìn)行鎖定,返回第三錯(cuò)誤提示消息,并退出執(zhí)行,否則執(zhí)行步驟b3;

b3、判斷所述客戶端ip地址或所述客戶端mac地址是否為禁止登錄地址,如是則返回第四錯(cuò)誤提示信息,并退出執(zhí)行,否則表示初步驗(yàn)證成功。

優(yōu)選地,步驟s3包括:

s31、初步驗(yàn)證成功后,根據(jù)所述用戶id獲取所述用戶所屬公司的公司信息;

s32、根據(jù)所述公司信息判斷所述公司是否被禁止交易,如是則退出執(zhí)行,否則在連接注冊子服務(wù)對象的驗(yàn)證服務(wù)對象中對所述加密驗(yàn)證信息進(jìn)行密碼驗(yàn)證;

s33、密碼驗(yàn)證成功后,判斷所述客戶端版本信息包括的版本號(hào)是否符合預(yù)定版本號(hào),如是則執(zhí)行步驟s34,否則返回第五錯(cuò)誤提示信息,并退出執(zhí)行;

s34、判斷所述客戶端的版本是否需要強(qiáng)制升級(jí),如是則啟動(dòng)升級(jí)模塊,并退出執(zhí)行,否則生成并推送用于詢問用戶是否升級(jí)的客戶端事件,如果所述用戶選擇升級(jí)則啟動(dòng)升級(jí)模塊,并退出執(zhí)行,否則表示客戶端版本驗(yàn)證成功。

優(yōu)選地,步驟s1之前,還包括:

s0、創(chuàng)建socket通道,接收并驗(yàn)證客戶端發(fā)送的連接請求,生成所述客戶端對應(yīng)的連接id,將所述連接id發(fā)送給所述客戶端,與所述客戶端建立socket連接。

附圖說明

圖1為本發(fā)明實(shí)施例提供的一種客戶端登錄方法的流程示意圖;

圖2為本發(fā)明另一實(shí)施例提供的一種客戶端登錄方法的流程示意圖;

圖3為本發(fā)明另一實(shí)施例提供的一種客戶端登錄方法的流程示意圖;

圖4為本發(fā)明另一實(shí)施例提供的一種客戶端登錄方法的流程示意圖;

圖5為本發(fā)明另一實(shí)施例提供的一種客戶端登錄方法的流程示意圖。

具體實(shí)施方式

以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。

如圖1所示,一種客戶端登錄方法,包括:

s1、接收并解析客戶端發(fā)送的用戶的登錄請求事件,得到登錄信息,登錄信息包括客戶端類型、客戶端版本信息和加密驗(yàn)證信息,加密驗(yàn)證信息包括:用戶id和密碼;

s2、判斷會(huì)話緩存中是否存在用戶的歷史登錄信息,如果存在則根據(jù)歷史登錄信息對用戶id進(jìn)行初步驗(yàn)證,如果不存在則根據(jù)用戶id從數(shù)據(jù)庫中獲取用戶的用戶對象信息,根據(jù)用戶對象信息對用戶id進(jìn)行初步驗(yàn)證;

s3、初步驗(yàn)證成功后,在連接注冊子服務(wù)對象的驗(yàn)證服務(wù)對象中對加密驗(yàn)證信息進(jìn)行密碼驗(yàn)證,密碼驗(yàn)證成功后對客戶端版本信息進(jìn)行客戶端版本驗(yàn)證;

s4、客戶端版本驗(yàn)證成功后,為用戶創(chuàng)建會(huì)話上下文對象,在會(huì)話上下文對象中創(chuàng)建用戶的標(biāo)簽值,標(biāo)簽值包括:客戶端類型、用戶id、服務(wù)器名稱和當(dāng)前時(shí)間;

s5、判斷連接注冊子服務(wù)對象中是否存在用戶id,如是則返回第一錯(cuò)誤提示信息,否則在連接注冊子服務(wù)對象中為用戶進(jìn)行注冊登錄。

應(yīng)理解,用戶在客戶端輸入用戶名和密碼,或者還需要輸入短信驗(yàn)證碼或者下載證書,客戶端將所有登錄信息進(jìn)行封裝,在與服務(wù)器連接成功后,發(fā)送給服務(wù)器,服務(wù)器接收到客戶端發(fā)送的登錄請求事件后,解析得到登錄信息,然后查看會(huì)話緩存中是否存在用戶的歷史登錄信息,如果存在則可以直接從歷史登錄信息中調(diào)取數(shù)據(jù)進(jìn)行初步驗(yàn)證,如果不存在則可以從數(shù)據(jù)庫中調(diào)取數(shù)據(jù)進(jìn)行初步驗(yàn)證。初步驗(yàn)證包括用戶是否被鎖定、登錄錯(cuò)誤次數(shù)是否超過預(yù)設(shè)次數(shù)、是否超過解鎖時(shí)間以及該客戶端是否被禁止登錄等。初步驗(yàn)證通過后,通過連接注冊子服務(wù)對象的驗(yàn)證服務(wù)對象對賬戶密碼進(jìn)行進(jìn)一步驗(yàn)證,如果賬戶密碼均匹配則表示密碼驗(yàn)證成功,密碼驗(yàn)證成功后對客戶端版本信息進(jìn)行客戶端版本驗(yàn)證,因?yàn)槿绻姹静环项A(yù)設(shè)版本則不能進(jìn)行登錄,全部驗(yàn)證完畢后,還需檢查連接注冊子服務(wù)對象中是否已經(jīng)注冊過該用戶id,如果已經(jīng)存在該用戶id,則返回錯(cuò)誤提示消息,如果不存在則在連接注冊子服務(wù)對象中為用戶進(jìn)行注冊登錄。

具體地,步驟s5中,在連接注冊子服務(wù)對象中為用戶進(jìn)行注冊登錄的方法包括:

創(chuàng)建用戶的會(huì)話模型對象,根據(jù)用戶id加載用戶的偏好屬性設(shè)置值,將用戶的會(huì)話狀態(tài)設(shè)置為活動(dòng)狀態(tài),并根據(jù)用戶id更新會(huì)話緩存和數(shù)據(jù)庫。具體地,根據(jù)用戶id更新會(huì)話緩存中的歷史登錄信息和數(shù)據(jù)庫中的用戶對象信息。

具體地,登錄信息還包括:客戶端的連接id、客戶端ip地址、客戶端mac地址和客戶端版本信息。

如圖2所示,步驟s2中,根據(jù)歷史登錄信息對用戶id進(jìn)行初步驗(yàn)證之前,還包括:

a1、檢查歷史登錄信息中包括的歷史登錄狀態(tài);

a2、如果歷史登錄狀態(tài)為活動(dòng)狀態(tài),則生成并推送用于詢問用戶是否強(qiáng)制登錄的客戶端事件,如果用戶選擇強(qiáng)制登錄則注銷用戶id對應(yīng)的歷史登錄事件,否則退出執(zhí)行;

a3、如果歷史登錄狀態(tài)為非活動(dòng)狀態(tài),則將歷史登錄信息標(biāo)識(shí)為廢棄狀態(tài);

a4、如果歷史登錄狀態(tài)為正在注銷中,則等待正在注銷中的用戶id對應(yīng)的歷史登錄事件注銷完成。

應(yīng)理解,根據(jù)歷史登錄信息對用戶進(jìn)行初步驗(yàn)證之前,需要檢查歷史登錄信息中包括的歷史登錄狀態(tài),如果歷史登錄狀態(tài)為活動(dòng)狀態(tài),則表示該用戶id已經(jīng)被登錄了,由于一個(gè)賬戶不能同時(shí)登錄兩次,此時(shí)需要詢問用戶是否強(qiáng)制登錄,如果強(qiáng)制登錄則需要注銷原來的登錄事件,如果歷史登錄狀態(tài)為非活動(dòng)狀態(tài),則需要將歷史登錄信息標(biāo)識(shí)為廢棄狀態(tài),如果歷史登錄狀態(tài)為正在注銷中,說明上一次的注銷還沒完成,需要等注銷完成后才進(jìn)行下一步。

具體地,通過預(yù)設(shè)線程定期從會(huì)話緩存中回收標(biāo)識(shí)為廢棄狀態(tài)的所有歷史登錄信息。

如圖3所示,步驟s2中,對用戶id進(jìn)行初步驗(yàn)證的方法包括:

b1、根據(jù)歷史登錄信息或用戶對象信息判斷用戶id是否被鎖定,如果被鎖定則判斷是否超過解鎖時(shí)間,如果超過則執(zhí)行步驟b3,如果未超過則返回第二錯(cuò)誤提示信息;

b2、如果沒有被鎖定則判斷用戶id的連續(xù)登錄錯(cuò)誤次數(shù)是否超過預(yù)設(shè)次數(shù),如是則對用戶id進(jìn)行鎖定,返回第三錯(cuò)誤提示消息,并退出執(zhí)行,否則執(zhí)行步驟b3;

b3、判斷客戶端ip地址或客戶端mac地址是否為禁止登錄地址,如是則返回第四錯(cuò)誤提示信息,并退出執(zhí)行,否則表示初步驗(yàn)證成功。

應(yīng)理解,如果會(huì)話緩存中存在歷史登錄信息,則根據(jù)歷史登錄信息中包括的鎖定信息判斷用戶id是否被鎖定,如果會(huì)話緩存中不存在歷史登錄信息,則根據(jù)用戶對象信息中包括的鎖定信息判斷用戶id是否被鎖定,在確定用戶被鎖定后,解鎖時(shí)間內(nèi)不允許用戶再次嘗試登錄,如果嘗試登錄則返回錯(cuò)誤提示信息。

如圖4所示,步驟s3包括:

s31、初步驗(yàn)證成功后,根據(jù)用戶id獲取用戶所屬公司的公司信息;

s32、根據(jù)公司信息判斷公司是否被禁止交易,如是則退出執(zhí)行,否則在連接注冊子服務(wù)對象的驗(yàn)證服務(wù)對象中對加密驗(yàn)證信息進(jìn)行密碼驗(yàn)證;

s33、密碼驗(yàn)證成功后,判斷客戶端版本信息包括的版本號(hào)是否符合預(yù)定版本號(hào),如是則執(zhí)行步驟s34,否則返回第五錯(cuò)誤提示信息,并退出執(zhí)行;

s34、判斷客戶端的版本是否需要強(qiáng)制升級(jí),如是則啟動(dòng)升級(jí)模塊,并退出執(zhí)行,否則生成并推送用于詢問用戶是否升級(jí)的客戶端事件,如果用戶選擇升級(jí)則啟動(dòng)升級(jí)模塊,并退出執(zhí)行,否則表示客戶端版本驗(yàn)證成功。

如圖5所示,步驟s1之前,還包括:

s0、創(chuàng)建socket通道,接收并驗(yàn)證客戶端發(fā)送的連接請求,生成客戶端對應(yīng)的連接id,將連接id發(fā)送給客戶端,與客戶端建立socket連接。

應(yīng)理解,如果客戶端與服務(wù)器之間沒有建立連接,就表示兩者不能通信,服務(wù)器無法接收客戶端發(fā)送的任何消息,所以在客戶端發(fā)送登錄請求之前,必須先與服務(wù)器建立連接。

以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

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