【问题标题】:Flexible dynamic routing for MVC 3 Multi-tenant architecture适用于 MVC 3 多租户架构的灵活动态路由
【发布时间】:2012-02-02 08:07:59
【问题描述】:

我想创建一个多租户网站,每个租户都可以创建多个门户 类似于 Dotnetnuke 所做的。 我想提供一个灵活的动态路由(可以在运行时生效,例如 我可以在运行时添加租户),如下所述。 我也喜欢允许/限制租户使用某些模块(区域(控制器组) 用于粗粒度访问控制或用于细粒度访问控制的控制器)和 控制器 Actions 用于最好的访问控制。

  • 租户不拥有域或子域 - 使用 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
    

鉴于各种组合,我想根据每个租户的配置提取租户密钥。 我还想提取门户编号(它可以是门户的唯一编号或唯一名称)。

传送门号之后的所有内容都将通过正常的路由值{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

【问题讨论】:

    标签: asp.net-mvc-3 asp.net-mvc-routing multi-tenant


    【解决方案1】:

    如果每个门户的内容都是从数据库中获取的,那么最好的办法是挂钩到一个可扩展点。 http://www.simple-talk.com/content/article.aspx?article=1358

    【讨论】:

      猜你喜欢
      • 2012-06-02
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多