日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

REST Framework 的用户认证组件

發布時間:2024/4/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 REST Framework 的用户认证组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?用戶認證流程:

  我們要知道這個流程是怎么走的? 認證之后做的什么? 怎么認證?這三個條件

  

認證流程:就是使用BaseAuthentication這個模塊來做認證,判斷你登陸成功傳遞過來的隨機字符串是否存在
怎么認證: 如果存在就讓程序繼續下去 然后返回一個兩個參數的元組

認證之后 你以后的登陸用戶的username或者其他需要獲取的數據就從你返回的那個帶有兩個參數的元組中取出來,因為下民我們需要你返回的信息的時候
      只能是登陸成功后才能使用 所以只有登陸成功后才能繼續下面的流程

?

?

其實用戶認證就是做了一個全局的認證?

首先我們要導入兩個模塊

from rest_framework.authentication import BaseAuthentication # 這個是限制用戶的信息 就是你驗證的時候必須要寫它里面的方法不然它的方法是返回錯誤的 所以你 必須要重寫 它的方法
from rest_framework.exceptions import AuthenticationFailed # 這個是你的用戶認證出錯的時候返回額錯誤信息 和上面的BaseAuthentication 是一起匹配的 ?

?

?

BaseAuthentication 內部只是寫一個一個方法 這個方法是限制我們必須重寫 則會個方法的? 如果不重寫的話就會拋出一個錯誤

?

?

它規定我們只能寫這個方法? 必須寫不寫就拋出錯誤 然后我們再返回的也必須是元組? 然后元組的里面含有兩個值? 并且對應的取值是rquest.user,和reques.auth

?

?

from rest_framework.authentication import BaseAuthentication # 這個是限制用戶的信息 就是你驗證的時候必須要寫它里面的方法不然它的方法是返回錯誤的 所以你 必須要重寫 它的方法 from rest_framework.exceptions import AuthenticationFailed # 這個事你的用戶認證出錯的時候返回額錯誤信息 和上面的BaseAuthentication 是一起匹配的from app01 import models class LuffcityAuththentication(BaseAuthentication): # 然后繼承這個模塊def authenticate(self,request):'''用戶認證:param self::param request::return:'''token = request.query_params.get("token") # 1、你的事個體請求必須從query.params中取值 2、這個事對你的攜帶的token值給取出來方便下面的判斷 因為這個字符串是你的瀏覽器訪問的時候攜帶的所以就用get請求獲取的方式來得到信息token_obj = models.UserToken.objects.filter(token = token).first()if not token_obj: # 如果沒有這個token或者錯誤raise AuthenticationFailed({"code":88,"data":"登陸失敗"})# 驗證成功return (token_obj.user,token_obj) #返回的是一個元組 必須是一個元組里面兩個元素 返回的是對象名和對象本身 方便后面的取值

?

?

你認證的時候如果是前后端分離的項目 最好是定的 隨機字符串來充當cookie這樣有助于取值,如果是用cooike獲取session你的邏輯就會很麻煩 所以就盡量使用隨機字符串來定義你的驗證信息

隨機字符串 用uuid

轉載于:https://www.cnblogs.com/zhaoyunlong/p/9478189.html

總結

以上是生活随笔為你收集整理的REST Framework 的用户认证组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。