인증 기본 키 및 소스 코드 분석

소스 코드 분석

1) 첫 번째) **, * kwargs로를 인수를로 디스패치 (자기, 요청의 APIView을 찾을 수 있습니다.

2)로 디스패치 방법 내에 세 가지 인증 self.initial (요청 인수 *, ** kwargs로)로.

self.perform_authentication (요청)
     #의 - : 인증 구성 요소는 불법 사용자의 관광객, 합법적 인 사용자 사용자 확인 
    #의 체크 대표 다음 검사 (권한 확인)에 직접 전달됩니다 손님 
    # 합법적 인 사용자 : 의해 검증 대신을 request.user는 사용자에 저장하고 다음 확인 (권한을 확인)를 입력 
    # 권한이없는 사용자 : 수표 대신이 실패 예외가 발생에 비정상적인 결과 403 권한 돌아 

self.check_permissions (요청) 
     #의 권한 구성 요소 : 사용자를 확인 권한 - 읽기 전용, 사용자 정의 사용자 역할 관광객을 읽기 및 쓰기, 로그인, 모든 사용자 로그인해야합니다 
    #의 인증 : 당신은 다음 검사 (주파수 인증) 입력 할 수 있습니다 
    #의 예외가 발생 403 권한 비정상적인 결과 반환 : 인증 실패 

(self.check_throttles을 요청) 
    #의 주파수 성분 : 액세스 될 인터페이스의 주파수 뷰의 개수를 제한 - 상태 (IP, ID, 고유 한 키)를 상기 주파수 사이클 시간 (S, M, H)를 제한하기 위해, 시간 / s (3) 주파수 
    #은 한계에 도달하지 않는다 회 정상 액세스 인터페이스 
    # 1 제한 시간을 달성 : 상기 시간 제한이 방문 할 도달 시간 제한된 액세스 할 수없는

 

 

3) 구성 요소를 인증.

  === 사용자 법 GET 메소드 요구 클래스 속성> self._authenticate ()은 인증을 완료한다. 사용자 (자기) get 메소드를 호출, 사용자 (자기 가치) 메소드 세트를 호출합니다.

인증 규칙 :
     #은 인증 할 
    DEF의 _authenticate (셀프) :
         #의 이송 하나 개의 인증을 취득, 인증 
        #의 조성 목록 생성하는 인증 클래스 객체 더미 인증 클래스 self.authenticators 
        에 대한 인증 자 self.authenticators을 :
             시도 :
                 # 인증 자 (객체) 인증 방법 인증합니다 (인증 클래스 개체 자체가, 요청 된 객체 요청)를 호출 
                #의 사용자 인증 착륙 구성의 튜플 정보 : 리턴 값 
                # 던지는 예외가 발생합니다 방법을 대신하여 포장하려고한다, 이상은 인증 실패 나타냅니다 
                user_auth_tuple = authenticator.authenticate (자체)
             제외 : exceptions.APIException 
                self._not_authenticated ()을 
                올리기 

            #이 거래의 값을 반환 
            하는 경우를user_auth_tuple는 제공되지 않습니다  없습니다 : 없음 
                self._authenticator = 인증 프로그램
                 # 값을 반환하는 방법은 로그인 로그인 인증합니다 request.user, request.auth에 저장됩니다 
                self.user, self.auth = user_auth_tuple
                 반환 
        # 반환 값이 null user_auth_tuple 인 경우 을 통해 인증의 대표하지만, 거기에는 사용자 로그인 인증이없는 관광객 대신, 로그인 정보를 
        self._not_authenticated ()

 

추천

출처www.cnblogs.com/blue-tea/p/11716937.html