2009-12-04 266 views
4

这个问题与其他问题不同,因为到目前为止我所见过的所有问题都是关于数据库的。我理解多租户的数据库方面,但我并不是100%确定前端的方式。如何使用ASP.Net MVC创建多租户应用程序?

我正在为基本上为客户提供托管服务的产品进行设计。就多租户而言,您可以考虑托管FogBugz帐户。客户注册后,他们得到自己的子域名,然后他们去customersubdomain.thenormalurl.com并登录到他们的应用程序的一小部分。

当客户注册时,我们需要为子域设置一个DNS记录,但是从应用程序的角度来看,我们应该如何“将范围”范围扩展到该客户?是否应该查看请求所针对的网址或者是否有其他方式?这对我来说似乎过于简单,但也许我只是想让一些应该很简单的事情复杂化。

ASP.Net世界通常如何做到这一点?

回答

2

是啊,只是看在子域。如果您的用户登录,那么您可以忽略该子域,并根据他们的登录凭据确定他们是谁。在弄清楚他们是谁之后,只需要获取正确的数据并且不会显示错误的数据。这就是所有这些数据库问题的来源。您可以通过使用单独的数据库或通过用客户关键字标记所有记录来实现“范围确定”。所以你的应用必须实现它。

+0

那真的就这么简单吗?在登录页面上只检查子域和凭证,然后从那时起使用经过验证的用户?而已?我想这是有道理的,我只是肯定有一些我没有想过的事情 – 2009-12-04 21:41:24

+0

从这方面来看确实非常简单。重大决定是关于如何保持数据分离。您的所有查询都需要做正确的事情 - 无论根据您如何构建数据。 – 2009-12-04 21:58:13