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

JWT在SpringBoot3中的作用及說明

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

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

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

去游樂園玩

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

參加會議

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

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

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

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

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

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

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

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

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

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

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

JWT 方式

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

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

用戶登錄

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

客戶端保存

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

請求資源

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

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

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

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

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

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

缺點(diǎn)

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

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

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

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

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

相關(guān)文章

最新評論

布拖县| 西乌珠穆沁旗| 夏邑县| 阳春市| 扎赉特旗| 三亚市| 连江县| 濉溪县| 涪陵区| 贡嘎县| 隆安县| 大荔县| 泸溪县| 珠海市| 景德镇市| 静海县| 铁力市| 荃湾区| 正镶白旗| 古浪县| 梨树县| 营口市| 乳山市| 靖远县| 安庆市| 财经| 右玉县| 沂南县| 宁蒗| 三台县| 鸡西市| 封开县| 济阳县| 额尔古纳市| 松滋市| 东莞市| 贵阳市| 铜梁县| 申扎县| 柘城县| 崇仁县|