另一个多租户帖子我害怕。 我无法找到解决问题的好方法,我已经阅读了ASP MVC多租户的所有好帖子,但我还是需要一些好的建议。
我将为我的一位客户创建一个企业形象。他们的公司结构就像一家主要公司(例如Acme集团有限公司),它拥有其他几家公司(例如Acme Holding Ltd,Acme Technology Ltd.,Acme Maritime Ltd.等)。
我想使用一个ASP MVC项目作为所有站点的容器,以减少所需的代码并使其保持干燥状态。我还希望所有网站都使用相同的会员资格。
我的第一个想法是为每个子公司制作一个控制器文件夹,为公司主页制作一个根控制器。然后它看起来像:
acme.com(“公司主页”)
acme.com/Holding(“Acme Holding Ltd.”)
acme.com/Maritme(“Acme Maritme Ltd.”)
...
这个结构对我很好,但我也希望网站的用户能够根据他们自己的独立域访问每个子站点,例如:
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”等
在这个特定项目中使用的最佳做法是什么,有什么想法吗?
答案 0 :(得分:6)
保持简单,使用IIS URL Rewrite Module。您可以将其设置为将acme-holding.com/*
网址重写为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>
答案 1 :(得分:1)
我写了一篇关于多租户的博客,其中涵盖了你在这里尝试的内容。:
http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/
祝你好运!