Это все в документах . Вам не хватает самой важной части кода - вашей конфигурации settings.py
. Если вы хотите, чтобы аутентификация была глобальной, тогда вам нужно поместить аутентификацию в общую схему следующим образом:
settings.py
SHARED_APPS = [
'django_tenants',
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.client',
'apps.user_app_goes_here',
]
TENANT_APPS = [
'apps.other_tenant_specific_apps',
'more_3rd_party_apps',
]
Аутентификация происходит там, где вы определяете Это. В приведенной выше настройке у меня есть определенные клиентом приложения c, которые доступны только указанным c клиентам, но auth
, user_model
и client
обрабатываются в общей схеме.
Вещи, с которыми вы можете столкнуться :
Если вы сделаете это таким образом, вам придется написать специальное промежуточное ПО для перенаправления пользователей в правильный домен (действующий на правильном схема), если вы пытаетесь, чтобы все пользователи имели доступ только к своим данным схемы. Тем не менее, вам нужно будет войти в правильный поддомен, чтобы получить доступ к данным арендатора c.
Вам не нужно создавать арендаторов через CLI. Это также можно сделать, загрузив схему, в которую вы хотите записать. Это также все в документации.
Вы, вероятно, не найдете тонны помощи по SO для этого пакета - по крайней мере, это была моя история с его использованием.