Я пытаюсь разобраться в случае использования, где у меня есть 2 роли. (администратор, клиент)
Будет портал администратора и клиентский портал (2 разные страницы входа).
- Администратор может пригласить клиента
- Администратор также может быть клиентом, может пригласить себя на портал клиентов
- Учетная запись администратора не должна делиться тот же пароль, что и учетная запись клиента.
- Электронная почта используется как уникальное поле для учетной записи администратора и клиента.
Например:
Учетная запись администратора - customer@email.com / пароль1 - Элемент списка
Учетная запись клиента - customer@email.com / пароль2
Решение 1: - Разрешение. Наличие 1 аккаунта с правами администратора и клиента. (Это не подходит для бизнес-случая)
На основе этой статьи: https://simpleisbetterthancomplex.com/tutorial/2018/01/18/how-to-implement-multiple-user-types-with-django.html
Решение 2: - Создание 2 django проектов. Один для каждой модели пользователя, поскольку обе учетные записи не могут совместно использовать пароль. Причина разделения на 2 проекта заключается в том, что такие ресурсы, как сеанс, вход в систему, выход из системы, не будут использоваться совместно. Таким образом, каждый портал (администратор, клиент) имеет свой ресурс.
Создание API клиента, позволяющее администратору создавать учетную запись клиента в проекте django клиента.
Общая база данных для совместного использования связанных данных
Это единственный способ справиться со случаем использования. Пожалуйста, дайте мне знать, если у кого-то есть лучшая идея справиться с этим.