2015-07-21 126 views
1

我希望你对此有所指导。子域在asp.net中有两个独立的网站mvc

我试图建立一个网站,有两个“球员”(我认为可以翻译成“角色”?)。一名球员是“消费者”,另一名球员是“供应商”。 两者都通过相互(sql server)数据库进行交互。 现在我想要完全分离每个玩家的系统,并使用完全不同的身份验证机制。 但是,我希望将消费者系统作为主域的子域,即我希望在'mydomain.com'下有消费者系统,在'supplier.mydomain.com'下有供应商系统。 但是,我无法弄清楚如何在技术上做到这一点?我能否在我的解决方案中创建另一个Web项目,称之为“供应商”,并让它包含供应商系统的所有功能? 或者我应该为主项目内的供应商功能创建单独的控制器吗?

第一个选项对我来说听起来最“干净”,但是,如何根据子域将用户从主要(消费者)网站路由到供应商网站?

如果我选择第二个选项,我如何确保以客户身份进行身份验证的用户将无法履行供应商职责?

这可能是很常见的任务,任何好的教程或例子呢?

+0

鉴于你想清晰的分离,我可能会建议将它们作为两个独立的应用程序来构建和部署。这些将共享一些通用的代码,但作为单独的项目进行管理。然后,您可以将两个单独的IIS应用程序映射到您的不同域,以及清除身份验证分离和管理。 – timothyclifford

回答

1

将创建两个单独的IIS应用程序 - 一个为你的消费者,另一个是你的供应商。

然后,您将在每个主机标头上设置所需的域和子域。然后,IIS将负责将URL路由到单独的应用程序。关于设置在这里IIS主机头https://technet.microsoft.com/en-us/library/cc753195.aspx

作为管理应用程序代码,给你想要完全分离,我建议创建三个Visual Studio项目:

  1. Web应用程序,为消费者
  2. 供应商
  3. Web应用程序
  4. 共享代码的类库 - 数据库逻辑等

然后,您可以开发和部署每个Web应用程序独立。

在辅导方面,有不少可用的,这里有一些这将帮助你: