使用token方法儲存使用者登入狀態的實踐

2021-10-03 13:33:38 字數 401 閱讀 2510

錯誤示範

使用者登入後,使用 localstorage 方法在瀏覽器客戶端直接儲存 user_id,每次進入**時,通過識別 user_id 自動獲取使用者的資訊並實現登入。

錯誤點瀏覽器 localstorage 儲存的資料可能被——篡改

在瀏覽器控制台使用 localstorage.setitem() 即可更改當前 user_id,如果 user_id 被別人改了,那豈不是可以隨意竊取任何人的資訊?

使用cookie儲存使用者 id 也有一樣的風險,

所以使用這種方法做儲存登入狀態和自動登入是不安全的

問題解決:token

自動登入

傳送請求,解析出 user_id

解決策略:

使用 localstorage + token 方法進行身份驗證

如何使用token儲存使用者登入資訊

登入成功之後,後台生成乙個token,將token儲存在redis中,key是token,value是使用者id,並且把token響應給前端,前端每次請求時都把token傳給後台進行鑑權。生成token 如下 校驗裝置資訊 param userid 使用者id param deviceid 裝置id...

DRF 使用者登入加 token

實現 使用者登入成功後,對應的 token 表建立一條對應登入使用者的 token 資料 models.py from django.db import models class userinfo models.model user type choices 1,普通使用者 2,管理員 3,超級使用...

Redis妙用 儲存使用者token

在設計類似電商的系統時,乙個常見的需求是每個頁面都需要攜帶登入使用者資訊。常見的解決方法有兩種 使用cookie儲存 使用jwt儲存。但如果系統中使用了redis快取,那麼還可以有第三種解決方案 將使用者token快取在redis中。一 登陸時生成乙個token存入redis 生成乙個token物件...