如何使用ASP.Net MVC创建多租户应用程序?

问题描述 投票:4回答:2

这个问题与其他问题不同,因为我到目前为止看到的所有问题都在谈论数据库。我理解多租户的数据库方面,但我不是百分之百确定前端的方式。

我正在设计一个基本上是客户托管服务的产品。就多重性而言,您可以想到托管的FogBugz帐户。客户注册,他们获得自己的子域,然后他们去customersubdomain.thenormalurl.com并登录他们的应用程序的一小部分。

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

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

asp.net-mvc asp.net-mvc-2 multi-tenant
2个回答
2
投票

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


3
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.