我目前正在使用Saleor Web框架(https://github.com/mirumee/saleor-platform)建立Django租户(https://django-tenants.readthedocs.io/en/latest/)
我已经成功地为两个不同的站点启动并运行了Saleor GraphQL端点。但是,我的用户必须使用公共模式创建,否则登录过程不起作用
例如,如果运行./manage.py create_tenant --domain-domain=newtenant.net --schema_name=new_tenant --email=new@gmail.com
,这将不起作用。但是运行./manage.py create_tenant --domain-domain=newtenant.net --schema_name=public --email=new@gmail.com
是有效的
在公共模式中创建的问题是,创建的用户将有权访问所有租户
从my settings.py中提取
SHARED_APPS = [
"django_tenants",
"saleor.clients",
# Django modules
"django.contrib.contenttypes",
"django.contrib.sites",
"django.contrib.staticfiles",
"django.contrib.auth",
"django.contrib.postgres",
"storages",
# Local apps
"saleor.plugins",
"saleor.account",
"saleor.discount",
"saleor.giftcard",
"saleor.product",
"saleor.checkout",
"saleor.core",
"saleor.graphql",
"saleor.menu",
"saleor.order",
"saleor.seo",
"saleor.shipping",
"saleor.search",
"saleor.site",
]
TENANT_APPS = (
# The following Django contrib apps must be in TENANT_APPS
"django.contrib.contenttypes",
"django.contrib.sites",
"django.contrib.staticfiles",
"django.contrib.auth",
"django.contrib.postgres",
"storages",
# Django modules
# Local apps
"saleor.plugins",
"saleor.account",
"saleor.discount",
"saleor.giftcard",
"saleor.product",
"saleor.checkout",
"saleor.core",
"saleor.graphql",
"saleor.menu",
"saleor.order",
"saleor.seo",
"saleor.shipping",
"saleor.search",
"saleor.site",
"saleor.data_feeds",
"saleor.page",
"saleor.payment",
"saleor.warehouse",
"saleor.webhook",
"saleor.wishlist",
"saleor.app",
# External apps
"versatileimagefield",
"django_measurement",
"django_prices",
"django_prices_openexchangerates",
"django_prices_vatlayer",
"graphene_django",
"mptt",
"django_countries",
"django_filters",
"phonenumber_field",
)
INSTALLED_APPS = list(SHARED_APPS) + [app for app in TENANT_APPS if app not in SHARED_APPS]
TENANT_MODEL = "clients.Client" # app.Model
TENANT_DOMAIN_MODEL = "clients.Domain" # app.Model
感谢您的帮助
目前没有回答
相关问题 更多 >
编程相关推荐