java JWT(json web token)三分鍾快速掌握


一: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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM