[發明專利]一種基于Redis的用戶訪問頻率處理裝置在審
| 申請號: | 202110683560.1 | 申請日: | 2021-06-21 |
| 公開(公告)號: | CN113364798A | 公開(公告)日: | 2021-09-07 |
| 發明(設計)人: | 劉建邦;徐士強;楊繼偉;魏金雷 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 闞恭勇 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 redis 用戶 訪問 頻率 處理 裝置 | ||
1.一種基于Redis的用戶訪問頻率處理裝置,其特征在于,
采用token作為用戶標志,利用Redis代替服務器實現用戶標識(即token)的存儲與認證;同時Redis進行鑒權,判斷用戶是否有權限訪問URL;并且利用Redis控制用戶訪問頻率,達到保護后端應用的目的;
包括配置模塊、用戶訪問頻率控制模塊、用戶認證模塊、用戶鑒權模塊,
其中,
配置模塊:對用戶訪問頻率控制模塊、用戶認證模塊、用戶鑒權模塊需要的參數進行配置;
用戶訪問頻率控制模塊:利用Redis查詢用戶最近的訪問次數是否超出限制;
用戶認證模塊:檢查是否有token對應的用戶,驗證首次登錄的用戶是否為合法用戶,為首次登錄的合法用戶頒發token;
用戶鑒權模塊:利用Redis驗證用戶是否有權限訪問請求的URL。
2.根據權利要求1所述的裝置,其特征在于,
配置模塊可配置用戶的白名單、黑名單、訪問頻率、用戶可訪問的資源、令牌有效時間。
3.根據權利要求1所述的裝置,其特征在于,
用戶訪問控制頻率模塊:檢測用戶最近的訪問頻率是否超出限制以防止系統被惡意攻擊;獲取用戶的ip地址,在Redis中查詢該ip地址對應的訪問頻率是否超出限制,如果超出限制,那么立刻返回,不會執行接下來的流程,反之,則允許繼續接下來的流程,并且在Redis中將用戶的訪問次數加1。
4.根據權利要求3所述的裝置,其特征在于,
在Redis中,用戶的訪問頻率是帶有時間期限的,如果超過這個時間期限,Redis會自動刪除這條記錄。
5.根據權利要求1所述的裝置,其特征在于,
用戶認證模塊:如果用戶訪問時沒有攜帶token或者存儲在Redis中的用戶的token已經過期,說明這是用戶初次登錄或者用戶太長時間沒有請求導致token失效,這時需要進入認證模塊進行認證生成token頒發。
6.根據權利要求5所述的裝置,其特征在于,
認證流程如下:
去Redis中根據token查詢用戶信息,如果查詢到了token,就重新設置該token對應的過期時間,如果沒有查詢到token,就指示用戶重定向到登錄頁面,登錄接口設置在白名單中,不去Redis中查詢token,而是根據用戶名和密碼去Mysql數據庫驗證是否為合法用戶,如果不是的話,立刻終止流程,返回錯誤提示信息;如果為合法用戶的話,那么為用戶頒發token,將該token存入到Redis中并設置過期時間。
7.根據權利要求1所述的裝置,其特征在于,
用戶鑒權模塊:在用戶認證模塊中,如果用戶是首次登錄并且通過驗證的話,還會去Mysql數據庫中取出該用戶可以訪問的URL并隨token一起存儲在Redis中;當用戶通過用戶認證模塊認證token合法時,會進入用戶鑒權模塊判斷用戶是否可以訪問對應的URL,如果允許的話,用戶鑒權模塊會放行用戶的請求,否則將會終止用戶請求。
8.根據權利要求1所述的裝置,其特征在于,
初次登錄的話流程如下:
步驟一:用戶在客戶端登錄,請求授權;
步驟二:用戶請求到達認證服務,獲取用戶的ip地址,根據ip地址去Redis中查詢用戶最近的訪問次數,如果超出訪問次數限制,終止流程;否則,Redis將用戶訪問次數加1,并繼續接下來的步驟;
步驟三:用戶進行認證,由于是初次登錄,沒有攜帶token參數,所以會去mysql中驗證用戶名和密碼,驗證通過的話,會繼續從Mysql中取出允許用戶訪問的URL;
步驟四:生成token,存入到Redis中,設置token的存儲期限,同時存儲token對應的用戶信息和允許用戶訪問的URL,返回token,用戶登錄結束。
9.根據權利要求8所述的裝置,其特征在于,
用戶再次請求時流程如下:
步驟一:用戶在客戶端根據URL進行訪問;
步驟二:用戶請求到達認證服務,獲取用戶的ip地址,根據ip地址去Redis中查詢用戶最近的訪問次數,如果超出訪問次數限制,終止流程;否則,Redis將用戶訪問次數加1,并繼續接下來的步驟;
步驟三:用戶進行認證,由于不是初次登錄,會攜帶token參數,所以直接去Redis中查找是否有token,如果沒有獲取到token,說明token已經過期被刪除或者此次請求是用戶沒有經過登錄的非法訪問,這種情況下直接返回,重定向到登錄界面;如果獲取到了token,那么從Redis中取出token對應的URL信息,這是持有該令牌的用戶允許訪問的URL;
步驟四:對比用戶本次請求的URL和允許用戶請求的URL,如果匹配的話放行用戶,用戶請求最終到達后端系統,否則終止用戶請求,提示用戶沒有訪問權限。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110683560.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種自升式勘探平臺
- 下一篇:一種張拉整體結構的變剛度多維振動能量收集器





