drf框架中認證與許可權工作原理及設定

2022-01-12 16:41:54 字數 1297 閱讀 1101

工作原理

前台對於使用者資訊進行的判斷

1)如果前台沒有攜帶認證資訊,直接定義為遊客

2)如果前台攜帶了認證資訊並認證通過,定位為登入使用者,將登入的使用者user物件儲存在 requset.user 中

3)如果前台攜帶了認證資訊但沒有認證通過,一般都定義為遊客

4 ) 可以自定義為非法使用者,丟擲 認證失敗 異常,但是不建議直接操作,可以交給許可權元件進一步處理rest_framework.exceptions 的 authenticationfailed

引數

工作原理

相關設定

isauthenticatedorreadonly:遊客唯讀,登入使用者無限制

isadminuser:是否是後台使用者

即在我們自定義的檢視類開頭設定

# 認證 下面不一定是,也可以()就是需要在陣列當中,多個類用,隔開

# 區域性取消認證元件:authentication_classes =

# 區別啟用認證元件:authentication_classes = [認證類們]

# 填寫的引數basicauthentication,sessionauthentication

# 許可權

# 區域性取消許可權元件:permission_classes =

# 區別啟用許可權元件:permission_classes = [許可權類們]

# 填寫的引數allowany

from rest_framework.authentication import sessionauthentication, basicauthentication

from rest_framework.views import apiview

from rest_framework.permissions import isauthenticated

class 類名(apiview):

authentication_classes = (sessionauthentication, basicauthentication)

permission_classes = [isauthenticated,]

...........

setting中設定

rest_framework =

DRF的認證與許可權功能

在setting.py進行配置。rest framework from rest framework.authentication import sessionauthentication,basicauthentication from rest framework.views import ap...

drf認證 許可權 頻率 過濾 排序 異常處理

使用方法 1 新建乙個認證類檔案,繼承baseauthentication raise authenticationfailed 驗證失敗 else raise authenticationfailed 請求頭沒有token資訊 2 認證類區域性配置 區域性使用,在列表內發那個值認證類 區域性禁用,...

django框架 DRF工程之許可權功能

1.相對於flask,原生而言django,drf做的則更加的合理化,想要給予使用者相應的許可權,首先需要在settings中進行配置 rest framework deafault permission classes rest framework.permissions.isauthentica...