天天看點

Django(61)認證元件源碼分析

認證元件源碼入口

APIView下的dispatch下的self.initial(request, *args, **kwargs),源碼如下:

三大認證

認證元件作用:校驗使用者 - 遊客、合法使用者、非法使用者

遊客:代表校驗通過,直接進入下一步校驗(權限校驗)

合法使用者:代表校驗通過,将使用者存儲在request.user中,再進入下一步校驗(權限校驗)

非法使用者:代表校驗失敗,抛出異常,傳回403權限異常結果

權限元件:校驗使用者權限 - 必須登入、所有使用者、登入讀寫遊客隻讀、自定義使用者角色

認證通過:可以進入下一步校驗(頻率認證)

認證失敗:抛出異常,傳回403權限異常結果

頻率元件:限制視圖接口被通路的頻率次數 - 限制的條件(IP、id、唯一鍵)、頻率周期時間(s、m、h)、頻率的次數(3/s)

沒有達到限次:正常通路接口

達到限次:限制時間内不能通路,限制時間達到後,可以重新通路

繼續閱讀