feat: Infrastructure multi-tenant avec isolation par sous-domaine
Une application SaaS éducative nécessite une séparation stricte des données entre établissements scolaires. L'architecture multi-tenant par sous-domaine (ecole-alpha.classeo.local) permet cette isolation tout en utilisant une base de code unique. Le choix d'une résolution basée sur les sous-domaines plutôt que sur des headers ou tokens facilite le routage au niveau infrastructure (reverse proxy) et offre une UX plus naturelle où chaque école accède à "son" URL dédiée.
This commit is contained in:
18
backend/config/packages/dev/tenant.yaml
Normal file
18
backend/config/packages/dev/tenant.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
# Tenants de développement
|
||||
# Ces tenants sont automatiquement chargés en environnement dev
|
||||
|
||||
parameters:
|
||||
tenant.dev_configs:
|
||||
- tenantId: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
|
||||
subdomain: 'ecole-alpha'
|
||||
databaseUrl: '%env(DATABASE_URL)%'
|
||||
- tenantId: 'b2c3d4e5-f6a7-8901-bcde-f12345678901'
|
||||
subdomain: 'ecole-beta'
|
||||
databaseUrl: '%env(DATABASE_URL)%'
|
||||
|
||||
services:
|
||||
App\Shared\Infrastructure\Tenant\TenantRegistry:
|
||||
class: App\Shared\Infrastructure\Tenant\InMemoryTenantRegistry
|
||||
factory: ['@App\Shared\Infrastructure\Tenant\TenantRegistryFactory', 'createFromConfig']
|
||||
arguments:
|
||||
$configs: '%tenant.dev_configs%'
|
||||
Reference in New Issue
Block a user