Multitenancy support

Strapi doesn’t support multitenancy out of the box, unfortunately.
There are different approaches to this, e.g. (pic taken from this article, I didn’t read it though :slight_smile: ).

In our project, we implement it manually “by hands”, e.g. by creating a “tenant” collection (the actual name is “brand” - coz we approach this as multi-branding, where different tenants can have 1 or more brands/branded sites in CMS) with all other collections relating to the mentioned collection.

But we are still in the active development stage, so no custom roles yet to filter content “per brand/tenant”.

Ideally, this could be built into the Strapi core, enabling it to be “more enterprise-friendly”. Something like this flow would fit the needs more than enough:

  • Tenant-1 has access to single Brand-1
  1. He logs in to Strapi
  2. Whole contents of Strapi filtered to display records related to Brand-1
  • Tenant-2 has access to two Brand-2 and Brand-3
  1. He logs in to Strapi
  2. And immediately after login he is presented with a modal prompt to select the desired brand
  3. Whole contents of Strapi filtered to display only selected brand
  4. But there is a UI element nearby to change brand selection

Adjusting Strapi UI (logo, theme, etc) to visually differentiate between brands is desirable, but is not mission-critical.

Obviously, data structure should be aligned between all tenants, I hardly imagine sustained business otherwise.