前端存token后端獲取token代碼實(shí)例(Spring?Boot)
Token是一種用于身份驗(yàn)證和授權(quán)的令牌(Token)機(jī)制,在網(wǎng)絡(luò)通信中廣泛使用。它是一個(gè)字符串,代表著用戶的身份或權(quán)限,用于驗(yàn)證用戶在系統(tǒng)中的訪問權(quán)限。
在身份驗(yàn)證方面,Token通常用于替代傳統(tǒng)的基于會(huì)話的身份驗(yàn)證機(jī)制,如使用Cookie+Session的方式。使用Token進(jìn)行身份驗(yàn)證的好處是,服務(wù)器不需要在內(nèi)存中保存用戶的會(huì)話信息,因?yàn)門oken本身包含了所有驗(yàn)證所需的信息。這使得Token在分布式系統(tǒng)或無狀態(tài)的API接口中非常適用。Token通常由服務(wù)器生成,并在用戶登錄或進(jìn)行身份驗(yàn)證時(shí)發(fā)放給客戶端??蛻舳藢oken存儲(chǔ)起來,并在后續(xù)的請(qǐng)求中將Token作為身份認(rèn)證的憑證發(fā)送給服務(wù)器。服務(wù)器接收到Token后,可以通過驗(yàn)證Token的有效性來確認(rèn)用戶的身份和權(quán)限。常見的Token類型包括JWT(JSON Web Token)、OAuth 2.0的訪問令牌(Access Token)、Bearer Token等。
在前端,使用瀏覽器提供的 Web Storage(如LocalStorage或SessionStorage)或者使用HTTP Cookie來存儲(chǔ)Token。
使用LocalStorage:
// 存儲(chǔ)Token到LocalStorage
localStorage.setItem('token', 'your_token_value');
// 從LocalStorage讀取Token
const token = localStorage.getItem('token');使用SessionStorage:
// 存儲(chǔ)Token到SessionStorage
sessionStorage.setItem('token', 'your_token_value');
// 從SessionStorage讀取Token
const token = sessionStorage.getItem('token');使用HTTP Cookie:
// 存儲(chǔ)Token到Cookie
document.cookie = 'token=your_token_value; expires=...; path=/';
// 從Cookie讀取Token
const cookies = document.cookie.split(';');
let token = null;
cookies.forEach(cookie => {
const [name, value] = cookie.trim().split('=');
if (name === 'token') {
token = value;
}
});
在前端進(jìn)行Token驗(yàn)證時(shí),通過在請(qǐng)求頭中添加Authorization字段,并將Token值作為其值傳遞給后端。在后端的代碼中,使用@RequestHeader("Authorization") String token來獲取請(qǐng)求頭中的Token值進(jìn)行驗(yàn)證和處理。
在Spring Boot后端中,使用@RequestHeader注解來接收前端傳遞的Token值。
示例:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class YourController {
@GetMapping("/your-endpoint")
public String yourEndpoint(@RequestHeader("Authorization") String token) {
// 處理
return "Success";
}
}
使用@RequestHeader("Authorization")注解將前端傳遞的Token值綁定到token參數(shù)上。然后,可以在方法體中使用token進(jìn)行驗(yàn)證和處理。
總結(jié)
到此這篇關(guān)于前端存token后端獲取token的文章就介紹到這了,更多相關(guān)前端存token后端獲取token內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中Supplier和Consumer接口的使用超詳細(xì)教程
文章闡述了Java8中Supplier與Consumer函數(shù)式接口的設(shè)計(jì)理念及應(yīng)用價(jià)值,強(qiáng)調(diào)其通過封裝數(shù)據(jù)供給與消費(fèi)邏輯,提升代碼靈活性與可維護(hù)性,對(duì)比傳統(tǒng)匿名內(nèi)部類展現(xiàn)簡潔優(yōu)勢(shì),并在策略、觀察者等設(shè)計(jì)模式實(shí)現(xiàn)高效應(yīng)用,為函數(shù)式編程提供標(biāo)準(zhǔn)化工具,感興趣的朋友跟隨小編一起看看吧2025-08-08
SpringBoot公共頁面抽取方法實(shí)現(xiàn)過程介紹
這篇文章主要介紹了SpringBoot抽取公共頁面的方法實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10
關(guān)于MyBaties的基本配置標(biāo)簽總結(jié)
今天給大家?guī)淼氖顷P(guān)于MyBaties基礎(chǔ)的相關(guān)知識(shí),文章圍繞著MyBaties的基本配置標(biāo)簽展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Spring?Boot使用Schedule實(shí)現(xiàn)定時(shí)任務(wù)的方法
這篇文章主要介紹了Spring?Boot使用Schedule實(shí)現(xiàn)定時(shí)任務(wù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
SpringBoot 關(guān)于Feign的超時(shí)時(shí)間配置操作
這篇文章主要介紹了SpringBoot 關(guān)于Feign的超時(shí)時(shí)間配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
MyBatis攔截器動(dòng)態(tài)替換表名的方法詳解
因?yàn)槲覀兂志脤涌蚣芨嗟厥褂肕yBatis,那我們就借助于MyBatis的攔截器來完成我們的功能,這篇文章主要給大家介紹了關(guān)于MyBatis攔截器動(dòng)態(tài)替換表名的相關(guān)資料,需要的朋友可以參考下2022-04-04
Java實(shí)現(xiàn)高效隨機(jī)數(shù)算法的示例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)高效隨機(jī)數(shù)算法的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02

