[發明專利]一種單點登錄方法、服務端及系統有效
| 申請號: | 201810418404.0 | 申請日: | 2018-05-04 |
| 公開(公告)號: | CN108683651B | 公開(公告)日: | 2021-02-19 |
| 發明(設計)人: | 孟凡龍;張永皋;袁也;程永明;于德江;高申申 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08;G06F21/31;G06F21/62 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 李世喆 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 單點 登錄 方法 服務端 系統 | ||
1.一種單點登錄方法,其特征在于,應用于服務端,包括:
預先搭建數據庫Redis;
當接收到外部Web客戶端發送的首次訪問請求時,生成會話session和帶有所述session的cookie;
將所述cookie和所述首次訪問請求對應的回執數據發送給所述Web客戶端,以使所述外部Web客戶端存儲所述cookie和將所述回執數據展示給用戶,其中,所述cookie的domain參數為所述回執數據對應的父級域名,路徑為所述cookie的相對路徑,屬性名稱為共享的屬性值;
利用開源框架spring將所述session存儲到所述Redis中;
當接收到所述外部Web客戶端發送的再次訪問請求和所述cookie時,利用所述spring確定所述Redis中是否存在與所述cookie對應的session;
如果是,利用與所述cookie對應的session訪問所述再次訪問請求對應的請求數據;
將請求數據發送給所述外部Web客戶端,以使通過所述外部Web客戶端將所述請求數據展示給所述用戶;
在所述預先搭建數據庫Redis之后,在所述利用所述spring確定所述Redis中是否存在與所述cookie對應的session之前,進一步包括:
預先在所述Redis中設置訪問所述Redis的身份信息,其中,所述身份信息,包括端口和密碼;
預先在所述spring中存儲所述Redis的待驗證訪問信息,其中,所述待驗證訪問信息,包括所述Redis的待驗證訪問地址、所述Redis的待驗證端口和所述Redis的待驗證密碼;
利用所述spring中的spring-data-redis組件確定所述待驗證訪問信息是否與所述身份信息一致,如果是,執行所述利用所述spring確定所述Redis中是否存在與所述cookie對應的session;
所述session,包括sessionid;
所述利用所述spring確定所述Redis中是否存在與所述cookie對應的session,包括:
利用所述spring-session解析所述cookie,獲得所述cookie中的sessionid;
利用所述spring-session確定所述Redis中是否存在與所述cookie中的sessionid相同的sessionid;
如果是,利用所述spring-session確定所述Redis中是否存在與所述cookie中的sessionid相對應的session;
所述利用與所述cookie對應的session訪問所述再次訪問請求對應的請求數據,包括:
利用與所述cookie中的sessionid相對應的session訪問所述再次訪問請求對應的請求數據;
所述利用與所述cookie中的sessionid相對應的session訪問所述再次訪問請求對應的請求數據,包括:
提取與所述cookie中的sessionid相對應的session中的登錄信息,其中,所述登錄信息,包括用戶名和所述用戶名對應的密碼;
利用所述登錄信息訪問所述再次訪問請求對應的請求數據;
在所述預先搭建數據庫Redis之后,在所述生成會話session和帶有所述session的cookie之前,進一步包括:
在所述spring的配置文件中配置所述Redis的連接池;
在所述連接池中建立Redis連接;
在所述生成會話session和帶有所述session的cookie之后,進一步包括:
獲取所述連接池中的所述Redis連接,并執行所述利用開源框架spring將所述session存儲到所述Redis中。
2.一種服務端,其特征在于,包括:
搭建模塊,用于預先搭建數據庫Redis;
信息處理器,用于當接收到外部Web客戶端發送的首次訪問請求時,生成會話session和帶有所述session的cookie;將所述cookie和所述首次訪問請求對應的回執數據發送給所述Web客戶端,以使所述外部Web客戶端存儲所述cookie和將所述回執數據展示給用戶,其中,所述cookie的domain參數為所述回執數據對應的父級域名,路徑為所述cookie的相對路徑,屬性名稱為共享的屬性值;將Web服務器訪問的請求數據發送給所述外部Web客戶端,以使通過所述外部Web客戶端將所述請求數據展示給所述用戶;
Web服務器,用于利用開源框架spring將所述信息處理器生成的所述session存儲到所述搭建模塊搭建的所述Redis中;當所述信息處理器接收到所述外部Web客戶端發送的再次訪問請求和所述cookie時,利用所述spring確定所述Redis中是否存在與所述cookie對應的session;如果是,利用與所述cookie對應的session訪問所述再次訪問請求對應的請求數據;
所述Web服務器,進一步用于預先在所述Redis中設置訪問所述Redis的身份信息,其中,所述身份信息,包括端口和密碼;預先在所述spring中存儲所述Redis的待驗證訪問信息,其中,所述待驗證訪問信息,包括所述Redis的待驗證訪問地址、所述Redis的待驗證端口和所述Redis的待驗證密碼;利用所述spring中的spring-data-redis組件確定所述待驗證訪問信息是否與所述身份信息一致,如果是,執行所述利用所述spring確定所述Redis中是否存在與所述cookie對應的session;
所述session,包括sessionid;
所述Web服務器,用于利用所述spring-session解析所述cookie,獲得所述cookie中的sessionid;利用所述spring-session確定所述Redis中是否存在與所述cookie中的sessionid相同的sessionid;如果是,利用所述spring-session確定所述Redis中是否存在與所述cookie中的sessionid相對應的session;利用與所述cookie中的sessionid相對應的session訪問所述再次訪問請求對應的請求數據;
所述Web服務器,用于提取與所述cookie中的sessionid相對應的session中的登錄信息,其中,所述登錄信息,包括用戶名和所述用戶名對應的密碼;
利用所述登錄信息訪問所述再次訪問請求對應的請求數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810418404.0/1.html,轉載請聲明來源鉆瓜專利網。





