前端存token后端獲取token代碼實例(Spring?Boot)
Token是一種用于身份驗證和授權(quán)的令牌(Token)機制,在網(wǎng)絡(luò)通信中廣泛使用。它是一個字符串,代表著用戶的身份或權(quán)限,用于驗證用戶在系統(tǒng)中的訪問權(quán)限。
在身份驗證方面,Token通常用于替代傳統(tǒng)的基于會話的身份驗證機制,如使用Cookie+Session的方式。使用Token進行身份驗證的好處是,服務(wù)器不需要在內(nèi)存中保存用戶的會話信息,因為Token本身包含了所有驗證所需的信息。這使得Token在分布式系統(tǒng)或無狀態(tài)的API接口中非常適用。Token通常由服務(wù)器生成,并在用戶登錄或進行身份驗證時發(fā)放給客戶端??蛻舳藢oken存儲起來,并在后續(xù)的請求中將Token作為身份認證的憑證發(fā)送給服務(wù)器。服務(wù)器接收到Token后,可以通過驗證Token的有效性來確認用戶的身份和權(quán)限。常見的Token類型包括JWT(JSON Web Token)、OAuth 2.0的訪問令牌(Access Token)、Bearer Token等。
在前端,使用瀏覽器提供的 Web Storage(如LocalStorage或SessionStorage)或者使用HTTP Cookie來存儲Token。
使用LocalStorage:
// 存儲Token到LocalStorage localStorage.setItem('token', 'your_token_value'); // 從LocalStorage讀取Token const token = localStorage.getItem('token');
使用SessionStorage:
// 存儲Token到SessionStorage sessionStorage.setItem('token', 'your_token_value'); // 從SessionStorage讀取Token const token = sessionStorage.getItem('token');
使用HTTP Cookie:
// 存儲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; } });
在前端進行Token驗證時,通過在請求頭中添加Authorization
字段,并將Token值作為其值傳遞給后端。在后端的代碼中,使用@RequestHeader("Authorization") String token
來獲取請求頭中的Token值進行驗證和處理。
在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
進行驗證和處理。
總結(jié)
到此這篇關(guān)于前端存token后端獲取token的文章就介紹到這了,更多相關(guān)前端存token后端獲取token內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于RowBounds分頁原理、RowBounds的坑記錄
這篇文章主要介紹了關(guān)于RowBounds分頁原理、RowBounds的坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04SpringBoot 整合Tess4J庫實現(xiàn)圖片文字識別案例詳解
Tess4J是一個基于Tesseract OCR引擎的Java接口,可以用來識別圖像中的文本,說白了,就是封裝了它的API,讓Java可以直接調(diào)用,今天給大家分享一個SpringBoot整合Tess4j庫實現(xiàn)圖片文字識別的小案例2023-10-10Mybatis遷移到Mybatis-Plus的實現(xiàn)方法
這篇文章主要介紹了Mybatis遷移到Mybatis-Plus的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java集合Map的clear與new Map區(qū)別詳解
這篇文章主要介紹了Java集合Map的clear與new Map區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04java線程安全鎖ReentrantReadWriteLock原理分析readLock
這篇文章主要為大家介紹了java線程安全鎖ReentrantReadWriteLock原理分析readLock,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10