2015-07-21 40 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應用程序獨立。

在輔導方面,有不少可用的,這裏有一些這將幫助你: