一:jwt
共有三部分:
令牌組成: 1.標頭(header)
2.有效載荷(payload)
3.簽名(Signature)
三部分以"."點進行分割
生成方式:1(標頭)+2(載荷)+自定義鹽值(簽名) 最終生成 3(token)


代碼實體:



二:springboot 封裝jwt工具類



自定義攔截器:



總結:JWT是用作http傳輸json時安全驗證的一種方式,也就是登錄之后,服務器會回傳給前端一個token,后續如果前端訪問其他介面,都需要攜帶token(token一般都是放在請求頭里面),生成的token一般都是存在前端本地(sessionStorage和localStorage)
擴展:sessionStorage和localStorage的區別
html5中的Web Storage包括了兩種存盤方式:sessionStorage和localStorage,
sessionStorage用于本地存盤一個會話(session)中的資料,這些資料只有在同一個會話中的頁面才能訪問
并且當會話結束后資料也隨之銷毀,因此sessionStorage不是一種持久化的本地存盤,僅僅是會話級別的存盤,只允許同一視窗訪問,
而localStorage用于持久化的本地存盤,除非主動洗掉資料,否則資料是永遠不會過期的,同源可以讀取并修改localStorage資料,
代碼實體:
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<script>
//setItem存盤value
localStorage.setItem("name", "一凡");
localStorage.setItem("job", "web前端");
//getItem獲取value
var name = localStorage.getItem('name');
var job = localStorage.getItem('job');
console.log('姓名:' + name);
console.log('職業:' + job);
//removeItem洗掉key
localStorage.removeItem('name');
var name = localStorage.getItem('name');
var job = localStorage.getItem('job');
console.log('姓名:' + name);
console.log('職業:' + job);
//clear清除所有的key/value
localStorage.clear();
localStorage.removeItem('name');
var name = localStorage.getItem('name');
var job = localStorage.getItem('job');
console.log('姓名:' + name);
console.log('職業:' + job);
</script>
</body>
</html>
執行結果:
//getItem獲取value
姓名:一凡
作業:web前端
//removeItem洗掉key(也就是洗掉name的值,所以回傳為null)
姓名:null
作業:web前端
//clear清除所有的key/value(洗掉所有存的資訊,也就是name和job,所以再取值全部為null)
姓名:null
作業:null
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444365.html
標籤:其他
上一篇:Python 遞回函式回傳值為 None 的解決辦法
下一篇:c++字符編碼轉換
