代码之家  ›  专栏  ›  技术社区  ›  Martin at Mennt

ASP MVC中的多租户

  •  12
  • Martin at Mennt  · 技术社区  · 16 年前

    恐怕还有一个多租户的职位。 我只是找不到一个好的解决方案,我已经阅读了所有关于ASP MVC多租户的伟大文章,但我仍然需要一些好的建议。

    我要为我的一个客户创造一个公司形象。他们的公司结构就像一家主公司(如ACME集团有限公司),拥有其他几家公司(如ACME控股有限公司、ACME技术有限公司、ACME海事有限公司等)。

    我想使用一个ASP MVC项目作为所有站点的容器,以减少所需的代码并保持其干燥。我也希望所有的网站使用相同的会员数据库。

    我的第一个想法是为每个子公司制作一个控制器文件夹,为公司主页制作一个根控制器。然后看起来像:

    acme.com(“公司主页”)
    acme.com/holding(“acme控股有限公司”)。
    acme.com/maritme(“acme maritme有限公司”)
    …

    这个结构对我来说很好,但是我也希望网站的用户能够根据自己的独立域访问每个子网站,例如:

    holding.acme.com(应直接指向“acme.com/holding”)。
    …

    当然,这也可以,但问题是,当用户被定向到“acme.com/holding”时,我不想更改URL。我希望它仍然是“holding.acme.com”、“holding.acme.com/about”、“holding.acme.com/contact”等,而不是“acme.com/holding/contact”等。

    在这个特定的项目中使用的最佳实践是什么,有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  6
  •   Pavel Chuchuva grapeot    16 年前

    保持简单,使用IIS URL Rewrite Module .你可以设置它来重写 acme-holding.com/* URL到 acme.com/Holding/* :

    <rewrite>
        <rules>
            <rule name="Forward to acme.com">
                <match url=".*" />
                <action type="Rewrite" url="http://acme.com/Holding/{R:0}" />
            </rule>
        </rules>
    </rewrite>
    
        2
  •  1
  •   Jason    16 年前

    我写了一篇关于多租户的博客,其中完全涵盖了你在这里的尝试。

    http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/

    祝你好运!