2012-02-02 91 views
1

我想創建一個多租戶網站,其中每個租戶都可以創建類似於Dotnetnuke所做的多個門戶 。 我想提供一個靈活的動態路由(可以在運行時生效,例如 ,我可以在運行時添加租戶),如下所述。 我還希望允許/限制某些模塊的租戶(區域(控制器組) 用於粗粒度訪問控制或用於細粒度訪問控制的控制器)和 控制器最佳訪問控制的操作。MVC 3的靈活動態路由多租戶架構

  • 承租人沒有自己的域或子域 - 使用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 
    
  • 租客擁有網域或子網域)

    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 
    

鑑於各種組合,我想提取tenantkey基於每個租戶的配置。 我也想提取門戶號碼(它可以是門戶或唯一名稱的唯一編號)。

後,門戶網站數量

一切都將通過正常的路由來解決數值{controller}/{action}

tenant1.com[/portal0]「[]」中任選括號內的內容,它將被視爲「portal0」

{tenantkey}{portal0} 

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

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

一些好的想法如下所示。這篇文章很古老。我想知道MVC 3中是否有新的東西?

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

Tenant-specific routes for dynamically loaded modules

回答