2016-10-29 4 views
0

사용자가 내 웹 사이트에 로그인 할 수 있도록 사용자 정의 사용자 모델 (AbstractBaseUser)을 만들었습니다.Django 사용자 정의 사용자 모델 로그인 시스템

문제는 관리자가 장고의 기본 사용자 및 인증 시스템을 계속 사용하여 직원이 쉽게 로그인하고 관리 할 수 ​​있도록하려는 것입니다.

많은 튜토리얼을 보았지만 모두 AUTH_USER_MODEL 설정을 변경하라는 지시를 받았지만, 변경하면 장고의 기본 사용자를 계속 사용할 수 없게됩니다.

어떤 해결책이 있습니까?

미리 감사드립니다.

답변

0

나는이 나 자신을 구현 적이 있지만, 그것은이 읽어 가진 가치가있을 수 있습니다 정확한 방향을 가리 키도록 : 당신이 쓸 수 있습니다

https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#authentication-backends

을 사물의 소리에 의해 Django의 인증 시스템과 함께 실행할 수있는 프론트 엔드 사용자 모델을위한 인증 백엔드.

이 기능을 사용할 수 있다면 인증을받은 프런트 엔드 사용자 모델이 사이트의 관리 부분에 액세스 할 수 없음을 확인해야한다고 생각합니다.

제게 백만 달러의 질문은 왜 프론트 엔드와 백엔드 사용자를 별도의 모델로 유지하려고합니까? 그들은 둘 다 사용자를 인증하기 위해 동일한 작업을합니까?

나는 프런트 엔드 사용자와 관리자가있는 곳에서 과거에 여러 프로젝트를 만들었습니다. 상자의 내용을 수정하지 않고 프런트 엔드 사용자의 경우 사용자 속성 is_staff=False을 설정하고 관리자 사용자의 경우 is_staff=True을 설정합니다. 사용자가 사이트의 관리자 부분에 액세스 할 수 있는지 여부를 결정하며이 방법에 대해서는 전혀 문제가 없었습니다. 프런트 엔드 사용자 (또는 백엔드 사용자) 추가 기능을 원한다면

, 가장 간단한 솔루션은 사용자 모델을 확장하는 것입니다 : 또는

https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-the-existing-user-model

당신이 사용자 사용자가 사용자 정의 사용자 모델을 만들 수 수와 이 둘을 모두 사용하십시오.

자세한 내용을 기꺼이 제공하려는 경우 아마도 도움이 될 수 있지만 별도의 사용자 모델을 보유해야하는 강력한 이유가 없으면 필요한대로 구성하고 확장하면됩니다.

이 정보가 도움이되기를 바랍니다.

관련 문제