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

4
这个问题与其他问题不同,因为迄今为止我看到的所有问题都在谈论数据库。我了解多租户的数据库方面,但我不确定如何处理前端部分。
我正在设计一个产品,基本上是为客户提供托管服务。就多租户而言,您可以考虑托管的FogBugz帐户。客户注册后,他们会获得自己的子域名,然后转到customersubdomain.thenormalurl.com并登录到他们的应用程序小部分。
当客户注册时,我们需要为子域设置DNS记录,但从应用程序方面来看,我们如何将应用程序“定位”到该客户?它只是要查看所请求的URL,还是还有其他方法?那对我来说似乎过于简单了,但也许我只是试图使一些简单的事情复杂化。
ASP.Net世界中这通常是如何完成的呢?
2个回答

3

2

是的,只需查看子域名即可。如果您的用户登录,则可以忽略子域并通过其登录凭据确定他们的身份。确定了他们是谁之后,就只是获取正确的数据并不显示错误的数据的问题了。这就是所有那些数据库问题的来源。您可以通过使用单独的数据库或使用客户密钥标记所有记录来实现“作用域”。因此,您的应用程序必须实现该功能。


这就是全部吗?在登录页面只需检查子域和凭据,然后从那时起只需使用经过身份验证的用户?就这样?我想这很有道理,我只是确定自己没有考虑到什么。 - Max Schmeling
从我们这边来看,这真的很简单。重要的决定在于如何保持数据分离。所有的查询都需要做正确的事情 - 根据您如何构建数据来确定“正确”的含义。 - Scott Saunders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接