2017-10-11 2 views
1

당 하나의 인증 백엔드 내가 장고 사용자의 여러 유형을 필요
1. 이메일 확인과 암호로 인증 된 전형적인 관리 사용자
2로 연결하는 원격 응용 프로그램 사전 공유 키와 토큰으로 인증합니다. 이러한 유형의 사용자에게는 이메일이 필요하지 않습니다.장고 : 내 장고 응용 프로그램에서 사용자 모델

모든 유형의 사용자는 서로 다른 관련 속성을 가지고 있습니다. 나는 장고에서 User 모델을 확장 할 수 있다는 것을 알고있다. 전자 메일 인증 백엔드를 이미 만들었습니다. 그러나 이것은 원격 응용 프로그램을 포함하여 모든 계정에서 작동합니다.

사용자 유형에 대한 인증 백엔드를 만드는 효과적인 방법이 있습니까?

답변

0

원격 응용 프로그램에 대한 사용자 지정 인증 백엔드를 작성하고이 같은 설정에서 표시 할 수 있습니다 :이 방법을

AUTHENTICATION_BACKENDS = (
    'path.to.email.authentication', 
    'path.to.remote.app.authentication', 
) 

, 장고 먼저 이메일 인증을 사용하려고 할 것이다 그것은을 다할 것입니다 실패하는 경우 원격 앱 인증.

당신은 here

는 희망이 도움이 사용자 지정 인증 백엔드에 대해 읽을 수 있습니다!

0

일부 사용자의 암호 인증을 사용하지 않으려면 set_unusable_password을 사용할 수 있습니다. 문서에서 :

암호가 설정되지 않은 사용자로 표시합니다. 이것은 비밀번호에 빈 문자열이있는 것과 같지 않습니다. 이 사용자에 대한 check_password()는 True를 반환하지 않습니다. User 객체를 저장하지 않습니다.

응용 프로그램에 대한 인증이 LDAP 디렉토리와 같은 기존 외부 소스에 대해 수행 될 때 필요할 수 있습니다.

관련 문제