2012-02-02 3 views
1

Je souhaite créer un site Web multi-locataires dans lequel chaque client peut créer plusieurs portails similaires à ceux de Dotnetnuke. Je souhaite fournir un routage dynamique flexible (qui peut prendre effet au moment de l'exécution, par exemple, Je peux ajouter un locataire au moment de l'exécution) comme indiqué ci-dessous. J'aime aussi autoriser/restreindre les locataires à certains modules (zones (groupe de contrôleurs) pour contrôle d'accès à granularité grossière ou Contrôleurs pour contrôle d'accès à grain fin) et Contrôleurs Actions pour le contrôle d'accès le plus fin.Routage dynamique flexible pour MVC 3 Architecture multi-tenant

  • locataire ne possède pas un domaine ou sous-domaine - utilise le nom de domaine hôte SaaS)

    tenant1.saasplatform.com (implicitly means has /portal0 suffix) 
    tenant1.saasplatform.com/portal0 
    tenant1.saasplatform.com/portal1 
    
    saasplatform.com/tenant1 (implicitly means has /portal0 suffix) 
    saasplatform.com/tenant1/portal0 
    saasplatform.com/tenant1/portal1 
    
  • locataire est propriétaire d'un domaine ou sous-domaine)

    tenant1.com (implicitly means has /portal0 suffix) 
    tenant1.com/portal0 
    tenant1.com/portal0 
    
    tenant1.com (implicitly means has portal0. prefix) 
    portal0.tenant1.com 
    portal1.tenant1.com 
    

Étant donné la combinaison de plusieurs que je veux extraire la clé de client selon la configuration par locataire. Je souhaite également extraire le numéro de portail (il peut s'agir d'un numéro unique pour un portail ou un nom unique).

Tout après le numéro portail sera résolu via le routage normale des valeurs {controller}/{action}

tenant1.com[/portal0] « [] » contenu à l'intérieur des supports en option et il sera traité comme « portal0 »

{tenantkey}{portal0} 

tenant1.saasplatform.com[/portal0] 
{tenantkey}.saasplatform.com}{portal0} 
{tenantkey}.othersaasplatform.com}{portal0} 

[portal0.]tenant1.com 
{portalkey}.{tenantkey} 

Quelques bonnes idées indiqué ci-dessous. L'article est assez vieux. Je me demandais s'il y a quelque chose de nouveau dans MVC 3?

http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx

Tenant-specific routes for dynamically loaded modules

Répondre