最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JWT在SpringBoot3中的作用及說明

 更新時(shí)間:2025年12月24日 09:47:11   作者:wh_xia_jun  
JWT是一種開放標(biāo)準(zhǔn)(RFC 7519),用于在網(wǎng)絡(luò)應(yīng)用環(huán)境間安全地將信息作為JSON對(duì)象傳輸,JWT在SpringBoot中用于身份驗(yàn)證、授權(quán)和無狀態(tài)性,相比傳統(tǒng)的session/cookie方式,JWT具有無狀態(tài)、易于擴(kuò)展、跨域支持好、性能高等優(yōu)點(diǎn),但也存在令牌體積較大

一、JWT 是什么?(生活類比)

JWT 就像是一個(gè) "電子身份證" 或者 "入場(chǎng)手環(huán)"。想象一下:

去游樂園玩

  • 你在入口處買票后,工作人員給你一個(gè) 彩色手環(huán)
  • 這個(gè)手環(huán)上印著你的名字、入園時(shí)間、有效期
  • 手環(huán)是防水的,很難偽造
  • 你進(jìn)入園內(nèi)后,所有游樂設(shè)施都通過這個(gè)手環(huán)確認(rèn)你的身份和權(quán)限
  • 你不需要每次都出示門票,也不需要重新排隊(duì)驗(yàn)證身份

參加會(huì)議

  • 你注冊(cè)會(huì)議后,收到一個(gè) 電子胸牌
  • 胸牌上有你的照片、姓名、公司、會(huì)議場(chǎng)次權(quán)限
  • 這個(gè)胸牌是加密的,別人無法復(fù)制
  • 你可以自由進(jìn)入任何允許的會(huì)議室,保安只需要掃描胸牌就能驗(yàn)證

二、JWT 在 Spring Boot 中的具體作用

身份驗(yàn)證(登錄后)

  • 用戶登錄后,服務(wù)器生成一個(gè) JWT 令牌
  • 這個(gè)令牌包含用戶的基本信息(用戶名、ID、角色等)
  • 客戶端(瀏覽器 / 手機(jī))保存這個(gè)令牌
  • 后續(xù)每次請(qǐng)求都帶上這個(gè)令牌,就像你戴著游樂園手環(huán)一樣

授權(quán)(權(quán)限控制)

  • JWT 令牌中可以包含用戶的角色信息(如管理員、普通用戶)
  • 服務(wù)器收到請(qǐng)求后,檢查令牌中的角色信息
  • 決定用戶是否有權(quán)限訪問特定資源(比如只有管理員能刪除數(shù)據(jù))

無狀態(tài)性(最重要的特點(diǎn))

  • 服務(wù)器不需要存儲(chǔ)令牌信息(不像傳統(tǒng)的 session 方式)
  • 就像游樂園的手環(huán),工作人員不需要查電腦,直接看手環(huán)就能驗(yàn)證
  • 這使得系統(tǒng)更容易擴(kuò)展到多個(gè)服務(wù)器(微服務(wù)架構(gòu))

三、為什么要用 JWT?(對(duì)比傳統(tǒng)方式)

傳統(tǒng)的 session/cookie 方式

  • 你去超市辦了一張會(huì)員卡
  • 每次消費(fèi)都要刷卡,店員要查數(shù)據(jù)庫確認(rèn)你的身份
  • 如果超市開了很多分店,數(shù)據(jù)同步會(huì)很麻煩
  • 如果會(huì)員卡丟了,別人可能冒用你的身份

JWT 方式

  • 你在銀行辦了一張電子支票
  • 支票上有你的信息、金額、有效期,而且是加密的
  • 任何銀行都可以直接驗(yàn)證支票的真實(shí)性,不需要聯(lián)網(wǎng)查數(shù)據(jù)庫
  • 即使支票被別人撿到,沒有密鑰也無法修改信息

四、Spring Boot 3 中 JWT 的工作流程

用戶登錄

  • 用戶提供用戶名和密碼
  • Spring Boot 驗(yàn)證后,生成一個(gè) JWT 令牌

客戶端保存

  • 瀏覽器把令牌保存在 localStorage 或 cookie 中
  • 移動(dòng)應(yīng)用把令牌保存在應(yīng)用內(nèi)存儲(chǔ)中

請(qǐng)求資源

  • 客戶端在每個(gè)請(qǐng)求的 Header 中添加 Authorization: Bearer <token>
  • 就像你去餐廳吃飯,進(jìn)門時(shí)出示你的會(huì)員卡

服務(wù)器驗(yàn)證

  • Spring Boot 檢查令牌的簽名和有效期
  • 提取用戶信息,確定訪問權(quán)限
  • 處理請(qǐng)求并返回結(jié)果

五、JWT 的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

  • 無狀態(tài),易于擴(kuò)展(適合微服務(wù))
  • 跨域支持好(不需要擔(dān)心 cookie 跨域問題)
  • 性能高(不需要頻繁查詢數(shù)據(jù)庫)
  • 可以在令牌中包含自定義信息

缺點(diǎn)

  • 令牌體積較大(相比簡(jiǎn)單的 session ID)
  • 一旦簽發(fā),很難立即撤銷(除非實(shí)現(xiàn)黑名單機(jī)制)
  • 令牌過期后,用戶需要重新登錄

六、生活中的 JWT 例子總結(jié)

  • 登機(jī)牌:包含你的姓名、航班號(hào)、座位號(hào)、登機(jī)口,全球機(jī)場(chǎng)通用
  • 酒店房卡:包含你的姓名、房間號(hào)、有效期,所有酒店員工都能驗(yàn)證
  • 電子優(yōu)惠券:包含優(yōu)惠金額、有效期、使用條件,商家掃碼就能驗(yàn)證

JWT 的核心思想就是:一次驗(yàn)證,到處通行,而且驗(yàn)證過程簡(jiǎn)單高效。這就是為什么它在現(xiàn)代 Web 應(yīng)用中如此受歡迎。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

苍梧县| 昆山市| 乐安县| 克东县| 东乌珠穆沁旗| 长乐市| 故城县| 普宁市| 武汉市| 温州市| 察哈| 舒城县| 信阳市| 霸州市| 哈巴河县| 恭城| 德清县| 略阳县| 固镇县| 出国| 尉氏县| 南康市| 贞丰县| 五台县| 南靖县| 武鸣县| 东平县| 博湖县| 温泉县| 乌苏市| 广南县| 大连市| 二手房| 定日县| 柳林县| 汉源县| 仲巴县| 镇平县| 手游| 濮阳市| 阳高县|