(生鮮專案)16 前後端分離之JWT認證

2022-09-01 08:00:10 字數 2533 閱讀 8004

第一節: 基本介紹

1. 什麼是jwt

掃盲**:  

第二節: rest框架中jwt的使用

1. 環境配置, jwt官網: 

在vueshop的虛擬環境下安裝包

pip install djangorestframework-jwt
settings.py

rest_framework =
urls.py

from rest_framework_jwt.views import

obtain_jwt_token

#...

urlpatterns =[

'',#...

url(r

'^jwt_auth/

', obtain_jwt_token),

]

2. 瀏覽器測試jwt介面是否正常

3. 攜帶jwt的token 去訪問goods介面, 看服務端能否識別出是哪個使用者

第三節: 將jwt與vue結合起來

1. 檢視前端vue的介面是什麼, vue中是login, 所以我們要把後台的介面也改成login, (注意這裡vue中應該是localhost, 截圖時忘了改)

輸入賬號密碼, 登入成功

2. vue登入原始碼分析

第四節: 將手機號設定成登入賬號

1. 為了完成後面的手機號碼註冊登入功能, 這裡我們先把手機號設定成可登入的賬號

user.views.py

from django.shortcuts import

render

from django.contrib.auth.backends import

modelbackend

from django.contrib.auth import

get_user_model

from django.db.models import

quser =get_user_model()

#自定義使用者驗證, 讓手機號碼也可以登入

class

custombackend(modelbackend):

def authenticate(self, username=none, password=none, **kwargs):

try:

user = user.objects.get(q(username=username) | q(mobile=username))

ifuser.check_password(password):

return

user

except

exception as e:

return none

settings.py

authentication_backends =(

"users.views.custombackend",

)

2. 斷點測試, 看自定義的類有沒有起作用

第五節: jwt的設定

1. 其實jwt自帶很多設定

settings.py

import datetime

jwt_auth =

2. 我們當前需要的配置如下

settings.py

#

jwt的額外設定

import

datetime

jwt_auth =

---  君子處其實,不處其華;治其內,不治其外張居正----

前後端分離專案

由於目前公司需要為已經存在的專案統一單點登入,而技術選型後採用的是apereo的cas。但是由於官方cas文件的混亂性 你懂得!並且其官方的例項和網上的例項教程都是基於傳統的專案 也就是非前後端分離專案 因此對於前後端分離的專案整合cas的可參考的資料就比較少,於是就有了下面的前後端分離專案基於ca...

前後端分離之SpringBoot專案Token認證

有人說,愛上一座城,是因為城中住著某個喜歡的人。其實不然,愛上一座城,也許是為城裡的一道生動風景,為一段青梅往事,為一座熟悉老宅。或許,僅僅為的只是這座城。就像愛上乙個人,有時候不需要任何理由,沒有前因,無關風月,只是愛了。林徽因 前段時間,大體了解了一下前後端分離之vue專案構建測試打包發布,並簡...

前後端不分離專案

express 是nodejs核心框架。express的功能介紹?express generator自動構建開發工具 express有乙個本地埠localhost 3000靜態網頁 聯合前端網頁的源 通過ejs模組可以實現前後端聯合專案 ejs可以識別html標籤,還能解析js,執行在express...