$Django 認證元件
阿新 • • 發佈:2018-12-12
認證元件原始碼實現方式
總結: as_view()閉包函式如返回view的記憶體地址 ,內部的view返回dispach的執行結果
1->apiview的as_view() 重用view的as_view() 返回了一個
csrf_exempt(view)
2->apiview自己的dispach方法內
(重新包裝request,呼叫了認證【返回request.user】許可權頻率方法,判斷reques.method 在沒在 view類下的請求方式列表內 )
返回request.method.請求方式()/丟擲異常執行結果執行
3->apiview定義了
authentication_classes地址列表 執行了自己的方法
authenticators=self.get_authenticators()拿到一個個物件列表
傳入request類生物件
4—>requst.user
再request類中
for迴圈列表物件
調了列表物件類的
authenticator.authenticate(self) #self為request物件