1. 程式人生 > >$Django 認證元件

$Django 認證元件

認證元件原始碼實現方式

總結:  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物件