Django 1.3 및 Python2.6을 사용하는 웹 응용 프로그램에서 작업하고 있습니다. 장고 사용자 모델을 확장하여 세 가지 유형의 사용자가 있고 각 유형에 대한 사용 권한을 관리해야합니다.Django 사용자 모델을 확장하여 권한을 관리하는 방법
설명하기 위해 사용자의 유형에는 교수진, TA와 학생의 세 가지 유형이 있습니다. TA는 새로운 '과제'를 만들 수있게되며, 교수진은 '검토'및 확인을 할 수있게되며, 학생들은 '검토'해야 할 '솔루션'을 제출하고 TA는 최종적으로 '검토 된'솔루션을 확인할 수 있습니다. 이제 구체화 및 등급 솔루션을 만들 수있는 사람 TA
, 확인을 위해 과제 및 솔루션을 검토 할 수있는 Faculty
및 솔루션을 제출할 수있는 사람 Students
의 세 가지 유형의 사용자가 있습니다.
이제 사용자 모델을 확장하는 데 두 가지 방법이 있다는 것을 알고 있습니다. UserProfile을 만들고 'user_type
'이라는 필드를 추가 할 수 있습니다. 다른 방법은 User 모델을 서브 클래 싱하는 것입니다. 하위 분류는 다른 유형의 사용자에 따라 다른 필드가있는 더 나은 접근 방식이라고 생각합니다.
단일 로그인 양식을 갖지만 다른 유형의 사용자에 대해 다른 등록 양식을 가질 수 있습니다. 왜 접근법 중 하나를 선택하겠습니까?
다른 유형의 사용자에 대한 사용 권한을 관리하는 가장 좋은 방법은 사용자 그룹을 사용하는 것입니다. 그룹을 만드는 방법, 사용자가 그룹에 속하는지 확인 하시겠습니까? 사용자 모델을 확장하는 방법의 선택이 사용 권한을 관리하는 방식에 영향을 줍니까?