日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

三年探索,登錄注冊之路仍漫漫

來源: 責編: 時間:2024-06-27 07:57:45 221觀看
導讀不出意外的話,我猜在座的各位同學,剛剛學編程的時候,80%以上的人寫的第一個項目不是學生管理系統,就是用戶的登錄、注冊;需求都是源于生活而高于生活,因為學生對這些場景最為熟悉,功能也相對簡單,拿來練手最適合不過了;但是,一

不出意外的話,我猜在座的各位同學,剛剛學編程的時候,80%以上的人寫的第一個項目不是學生管理系統,就是用戶的登錄、注冊;需求都是源于生活而高于生活,因為學生對這些場景最為熟悉,功能也相對簡單,拿來練手最適合不過了;但是,一個看似小小的登錄、注冊功能,要想把他真正的做好,并不是一件容易的事情;本文通過圖示及代碼的方式介紹用戶登錄流程及技術實現,內容包括用戶登錄,用戶驗證,如何獲取操作用戶的信息以及一些黑名單及匿名接口如何免驗證相關的實現。T4u28資訊網——每日最新資訊28at.com

業務圖解

對于用戶登錄來說、涉及到了用戶注冊、登錄驗證幾個方面,通過流程圖演示如何處理(新用戶/老用戶)登錄。T4u28資訊網——每日最新資訊28at.com

圖片圖片T4u28資訊網——每日最新資訊28at.com

流程解讀

客戶端-登錄界面(通常手機驗證碼登錄)

  • 填寫手機號
  • 發送驗證碼
  • 填寫驗證碼
  • 勾選新用戶自動注冊

服務端-用戶驗證

  • 驗證賬號驗證碼是否正確
  • 驗證用戶是否存在(不存在出初始化用戶信息)
  • 完成驗證生成 token
  • 將 token 返回給客戶端

用戶信息設計:

圖片圖片T4u28資訊網——每日最新資訊28at.com

驗證流程圖解

圖片圖片T4u28資訊網——每日最新資訊28at.com

登錄驗證流程涉及到了兩個接口,兩個緩存:T4u28資訊網——每日最新資訊28at.com

  • 獲取驗證碼接口,給手機號發送驗證碼并設置驗證碼緩存,設置過期時間。
  • 登錄接口,提交手機號及驗證碼,讀取緩存進行匹配驗證,成功則生成 token 返回給客戶端,客戶端登錄成功,登錄后請求頭攜帶 token 進行業務請求即可。

關于 token 過期時間

通常我們 token 的過期時間是根據客戶端的類型來定義的,app 的過期時間會更長一些(通常一個星期)。T4u28資訊網——每日最新資訊28at.com

web 端過期時間以小時為單位,如果控制過期時間可以將 web 登錄和 app 登錄拆分為兩個接口(能夠分流,接口壓力更小),或者是根據請求頭信息進行判斷即可,是移動端就設置 7 天,是 web 端就設置兩小時。T4u28資訊網——每日最新資訊28at.com

關于業務請求 token 驗證

登錄成功后,客戶端每次請求都會攜帶 token,通常我們會有一個網關來進行 token 驗證,網關用于登錄驗證的核心就是登錄成功后寫入的 token 作為 key,值為用戶基礎信息的緩存。T4u28資訊網——每日最新資訊28at.com

圖解如下:T4u28資訊網——每日最新資訊28at.com

圖片圖片T4u28資訊網——每日最新資訊28at.com

驗證成功后,重寫內部請求頭,將用戶的的 id,賬號,昵稱信息放入請求頭中,這樣可以方便業務系統獲取當前操作用戶信息以及權限控制等等。T4u28資訊網——每日最新資訊28at.com

關于登出操作

用戶攜帶 token 請求登出接口,登出接口對 token 對應的緩存進行刪除操作,返回 401 即可,客戶端獲取到 401 就會跳轉到登錄頁面。T4u28資訊網——每日最新資訊28at.com

關于匿名請求(免登錄)

通常匿名請求放行有兩種方案:T4u28資訊網——每日最新資訊28at.com

  • 授權 token,為 token 設置單位時間內請求次數
  • 配置路徑放行規則,對請求接口路徑進行正則匹配,符合正則規則的進行放行

方案 1:授權 token,限制單位時間請求次數

優點就是雖然是免登錄接口,但是接口的操作對象可以追溯,請求次數可控,避免被非法利用;缺點就是需要更多的編碼及配置工作。T4u28資訊網——每日最新資訊28at.com

技術實現:T4u28資訊網——每日最新資訊28at.com

  • 提供一個授權 token 管理頁面,主要管理 token 使用者,token 的值,單位時間訪問次數(如每分鐘 60 次)
  • 增刪改查,將授權 token 存放到緩存中,使用 map 進行存儲,key 為 token,值為每分鐘訪問次數
  • 單位時間計數緩存,過期時間為 1 分鐘

這時候我們需要在上面的驗證流程圖基礎上進行升級:T4u28資訊網——每日最新資訊28at.com

圖片圖片T4u28資訊網——每日最新資訊28at.com

請求次數檢查代碼實現:import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import java.util.concurrent.TimeUnit;/** * 授權token請求限制緩存 */@Componentpublic class AuthTokenRequestLimitCache {    @Autowired    private RedisTemplate<String, Integer> redisTemplate;    private static final String AUTH_TOKEN_LIMIT_KEY_PREFIX = "auth_token_limit";    /**     * 請求次數+1并檢查是否超限     *     * @param token     * @return 是否放行      */    public boolean incrementWithCheck(String token) {        // 1.獲取token請求次數限制,獲取為null代表授權配置已被修改,此token已經不具備權限        Integer limit = getLimit(token);        if (limit == null) {            return false;        }        // 2.組裝緩存key,讀取緩存        String key = String.join(":", AUTH_TOKEN_LIMIT_KEY_PREFIX, token);        Integer count = redisTemplate.opsForValue().get(key);        // 3.沒有值代表一分鐘內沒有請求產生了        if (count == null) {            // 初始化值            redisTemplate.opsForValue().increment(key);            // 設置過期時間            redisTemplate.expire(key, 1L, TimeUnit.MINUTES);            return true;        }        // 自增并獲取當前值 大于限制的話 返回false 網關過濾器返回提示信息(如請求過于頻繁)        Long inc = redisTemplate.opsForValue().increment(key);        return inc <= limit;    }    /**     * 獲取限值     *     * @param token     * @return     */    public Integer getLimit(String token) {        Object limit = redisTemplate.opsForHash().get("auth_token_limit", token);        return limit == null ? null : (Integer) limit;    }}

對于授權接口,通常是只允許 get 操作,對數據進行提交或者更新是不被允許的,當然這個是業務層面的,最終取決于系統設計。T4u28資訊網——每日最新資訊28at.com

方案 2:請求路徑正則校驗

我們在網關的配置文件中增加匿名接口規則,請求到網關時,檢查請求的路徑是否符合匿名接口規則,是則放行,不是則進行 token 校驗,方案比較簡單,只需要對網關進行處理即可。T4u28資訊網——每日最新資訊28at.com

關于黑名單

對于一個系統來說,黑名單是最后一道關卡,所以為了安全我們需要對問題用戶進行黑名單操作。T4u28資訊網——每日最新資訊28at.com

具體實現也比較簡單:T4u28資訊網——每日最新資訊28at.com

  • 用戶管理頁面提供一個拉黑的按鈕,拉黑后,這些用戶的 id 會存儲到一個 set 集合中去
  • 登錄時候檢查用戶是否在黑名單中,是則拒絕登錄并提示
  • 如果用戶已經登錄后進行拉黑操作,網關會在鑒權通過后檢查用戶是否在黑名單中,是則刪除 token 對應緩存,返回 401,401 就會跳到登錄頁,步驟 2 就會進行攔截

總結

用戶系統是非常基礎的系統,但是很多程序員工作中可能并沒有真正的參與到用戶系統的開發,通過此文可以對用戶登錄流程及配套功能有一個全面的了解。T4u28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-96762-0.html三年探索,登錄注冊之路仍漫漫

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 2024 最新最全 VS Code 插件推薦!

下一篇: CSS的媒體查詢:響應式布局的利器

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品亚洲网站| 欧美成人资源| 午夜一级久久| 欧美一区亚洲一区| 久久网站免费| 欧美国产综合视频| 国产精品久久| 精品av久久707| 99视频一区| 欧美影院成人| 欧美巨乳在线观看| 国产精品亚洲第一区在线暖暖韩国| 国产一本一道久久香蕉| 在线看成人片| 亚洲自拍偷拍麻豆| 久久这里只有精品视频首页| 欧美性大战xxxxx久久久| 国产综合自拍| 在线视频日韩| 久久综合九色综合欧美狠狠| 欧美日韩一区二区免费在线观看| 国产午夜精品全部视频在线播放| 亚洲精品乱码久久久久久按摩观| 新狼窝色av性久久久久久| 欧美a级片网站| 国产精品视频网| 亚洲激情欧美激情| 午夜精品久久久久影视| 欧美va天堂| 国产欧美精品一区二区三区介绍| 亚洲电影免费在线观看| 亚洲在线一区二区| 欧美国产精品劲爆| 国产一区二区三区久久| 一区二区三区久久网| 久久九九热免费视频| 欧美色综合网| 亚洲国产影院| 欧美资源在线观看| 欧美四级剧情无删版影片| 一区二区三区在线不卡| 亚洲字幕在线观看| 欧美精品一区二区三区四区| 影院欧美亚洲| 欧美在线关看| 国产精品成人免费视频 | 欧美天堂在线观看| 在线观看国产精品网站| 亚洲欧美日韩国产一区| 欧美精品久久一区| 亚洲高清在线观看| 久久成人精品无人区| 欧美网站在线观看| 亚洲麻豆视频| 欧美国产精品一区| 狠狠88综合久久久久综合网| 午夜天堂精品久久久久| 欧美在线国产精品| 国产精品亚洲片夜色在线| 这里只有精品电影| 欧美激情一二三区| 亚洲国产导航| 久久午夜av| 韩国一区二区三区美女美女秀| 羞羞漫画18久久大片| 欧美日韩一区二区三区在线| 亚洲乱码精品一二三四区日韩在线 | 136国产福利精品导航网址| 小嫩嫩精品导航| 国产精品视频99| 亚洲综合丁香| 国产精品美女久久久久久久| 中文日韩在线视频| 欧美日韩免费精品| av成人福利| 欧美日韩一区二| 亚洲一区二区欧美| 国产精品久久二区| 亚洲天堂久久| 国产精品美女久久久久av超清| 欧美+亚洲+精品+三区| 国内久久婷婷综合| 久久久之久亚州精品露出| 红桃视频成人| 久久综合九色综合网站| 在线不卡欧美| 欧美福利在线| 日韩亚洲欧美精品| 欧美日本在线视频| 在线一区免费观看| 国产精品美女久久| 欧美一级大片在线免费观看| 国产日韩欧美综合在线| 久久精品综合一区| 亚洲第一中文字幕在线观看| 欧美电影免费网站| 妖精成人www高清在线观看| 欧美视频在线观看视频极品| 亚洲欧美日韩精品久久亚洲区| 国产欧美精品在线播放| 久久精品欧美| 亚洲激情第一区| 欧美日韩精品免费观看| 亚洲线精品一区二区三区八戒| 国产精品一区二区a| 久久不见久久见免费视频1| 影音先锋国产精品| 欧美精品免费播放| 亚洲欧美视频在线| 国产一区日韩欧美| 欧美freesex交免费视频| 日韩亚洲在线观看| 国产精品中文在线| 久久综合五月天婷婷伊人| 国产精品美女一区二区| 在线一区二区日韩| 欧美色中文字幕| 亚洲欧美日韩精品综合在线观看| 欧美日韩在线精品一区二区三区| 一本大道久久a久久精二百| 国产精品久久久久久久久借妻| 香蕉亚洲视频| 亚洲国产精品va在线看黑人| 欧美日韩中文字幕综合视频 | 性欧美大战久久久久久久久| 黄色成人av网站| 欧美人交a欧美精品| 亚洲欧美视频一区| 亚洲国产另类久久久精品极度| 欧美色图五月天| 久久久久久久999精品视频| 亚洲毛片av| 国产亚洲欧美一区二区三区| 欧美jjzz| 欧美一区二区三区免费看| 亚洲韩国一区二区三区| 国产精品久久久久久久久免费桃花 | 免播放器亚洲一区| 欧美日韩免费一区| 国产亚洲一级高清| 亚洲啪啪91| 亚洲国产精品一区二区尤物区| 99精品欧美一区| 中日韩午夜理伦电影免费| 亚洲一区二区三区成人在线视频精品 | 狠狠综合久久| 久久精品av麻豆的观看方式 | 欧美三区在线视频| 亚洲国产精品毛片| 久久久久久穴| 欧美午夜片在线观看| 一区二区亚洲欧洲国产日韩| 欧美一区二区三区电影在线观看| 久久精品女人天堂| 欧美图区在线视频| 亚洲视频在线观看一区| 欧美性jizz18性欧美| 亚洲欧美欧美一区二区三区| 香蕉久久一区二区不卡无毒影院| 一区二区欧美视频| 亚洲一区二区三区在线视频| 亚洲欧美日韩国产综合精品二区 | 欧美成人免费在线视频| 亚洲婷婷综合色高清在线| 国产欧美亚洲视频| 欧美不卡视频一区| 亚洲欧美日韩精品一区二区 | 久久精品一区中文字幕| 欧美日韩视频一区二区| 精品1区2区3区4区| 欧美性色视频在线| 久久精品国产一区二区电影| 一区二区三区久久精品| 尤妮丝一区二区裸体视频| 欧美日韩亚洲一区二| 欧美精品 日韩| 欧美激情免费在线| 久久精品国产久精国产思思| 国内自拍一区| 99国产精品久久| 亚洲国产成人精品视频| 国产视频一区在线观看一区免费| 国产精品久久国产精品99gif| 欧美日韩成人在线播放| 欧美成人免费在线观看| 看欧美日韩国产| 久久精品中文字幕免费mv| 欧美在线观看视频| 欧美在线免费观看视频| 先锋影音网一区二区| 亚洲欧美日韩精品久久久| 在线综合亚洲| 亚洲深夜福利| 亚洲色无码播放| 正在播放欧美视频| 这里只有视频精品| av不卡免费看| 一本一本久久a久久精品牛牛影视| 亚洲三级网站| 日韩视频欧美视频| 日韩午夜电影| 一级成人国产| 亚洲一区二区三区色| 亚洲综合首页|