![](/img/trans.png)
[英]asp.net MVC Multi-tenancy: Is there a way to override/influence User.Identity.IsAuthenticated?
[英]Multi tenancy in ASP MVC
然而另一个多租户帖子我很害怕。 我只是找不到解决问题的好方法,我已经阅读了ASP MVC多租户的所有优秀帖子,但我仍然需要一些好的建议。
我将为我的一位客户创建一个企业形象。 他们的公司结构就像一家主要公司(例如Acme集团有限公司),该公司拥有其他几家公司(例如Acme Holding Ltd,Acme Technology Ltd.,Acme Maritime Ltd.等)。
我想使用一个ASP MVC项目作为所有站点的容器,以减少所需的代码并保持干燥。 我还希望所有站点都使用相同的Membership DB。
我的第一个想法是为每个子公司制作一个控制器文件夹,为公司主页制作一个根控制器。 然后它看起来像:
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”等。
什么是在这个特定项目中使用的最佳实践,任何想法?
保持简单,使用IIS URL重写模块 。 您可以将其设置为将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>
我写了一篇关于多租户的博客,其中涵盖了你在这里尝试的内容:
http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.