4

这个问题与其他问题不同,因为到目前为止我看到的所有问题都是关于数据库的。我了解多租户的数据库方面,但我不能 100% 确定在做前端的路上。

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

当客户注册时,我们需要为子域设置 DNS 记录,但是从应用程序的角度来看,我们如何将应用程序“限定”到该客户?它只是应该查看发出请求的网址还是有其他方式?这对我来说似乎过于简单,但也许我只是想把应该简单的事情复杂化。

这在 ASP.Net 世界中通常是如何完成的?

4

2 回答 2

3

Luke Sampson 在此处为使用 ASP.NET MVC 下的子域的多租户应用程序提供了一些技术和示例代码:

http://blog.lukesampson.com/subdomains-for-a-single-application-with-asp-net-mvc

于 2009-12-04T21:31:01.820 回答
2

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

于 2009-12-04T21:39:43.630 回答