我想创建一个多租户网站,其中每个租户都可以创建类似于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