Недавно я пытался создать проект, в котором задействовано несколько уровней пользователей.
(просто пример сокращенной и грубой схемы)
- ME (Суперпользователь)
- Клиент (s)
- Клиент (s)
- Коллекции опросов
- SurveyUser (s)
- Обзоры
- Приглашенный (с) (приглашенный является ребенком как опроса, так и пользователя)
- Вопросы
- Etc
В идеале я бы:
- www.example.com / client / перейти к клиентскому интерфейсу, для доступа к которому вы должны были быть клиентом
- www.example.com / customer / перейти к интерфейсу клиента, для доступа к которому вы должны были быть клиентом
Я уже установил, что использование настраиваемого интерфейса администратора Django для всех из них, вероятно, будет невозможно (или это так?). Поэтому я склоняюсь к созданию вручную «административных» интерфейсов для каждого уровня пользователя, позволяя им управлять своими соответствующими ролями. Каков наилучший способ иметь разные типы пользователей и отдельные интерфейсы для каждого из них?
Мне нравится способ наследования пользователей, описанный в:
http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/
Но я не уверен, как бы я настраивал разные области администратора для разных пользователей.
В качестве дополнительной проблемы я также не уверен, как получить доступ к пользовательским свойствам наряду со стандартными пользовательскими свойствами и как их редактировать / сохранять в интерфейсе ACTUAL admin, который я буду использовать.
Мне нужно будет аутентифицировать пользователей «Клиента» по клиентской базе данных, чтобы проверить, являются ли они клиентами, но каким-то образом также аутентифицироваться по базе данных пользователей, которая управляет аутентификацией, именем пользователя, паролем и т. Д.
Я перехожу с PHP на Python / Django, так что любые советы будут очень полезны.
Спасибо!