2017-09-02 75 views
-1

我在解決方案中構建了帶有Identity 2.0身份驗證的ASP.net Web API 2,因此外部供應商可以將數據轉儲到我們的數據庫中進行分析。我構建了另一個MVC解決方案來連接到相同的身份數據庫並管理Web API的用戶,以便我們的內部用戶可以添加和刪除用戶。然而,我的老闆今天告訴我,最好的做法是在Web API項目(不是解決方案)內建立UI管理(MVC)。我很困惑,這是最好的方法還是分開保存兩種解決方案?ASP.net API項目中的UI

回答

0

由於NFRs的不同,此用例需要單獨的Web應用程序。

API是外部的。 MVC UI是內部的。所以他們有不同的安全需求 - MVC應用程序更敏感,並且可能需要通過不同的手段來保護,例如, AD集成。該API將需要坐在DMZ中以供公衆訪問,而MVC應用程序可以位於內部網絡上。

該API用於公共消費,因此可能有不同的可用性要求。該API可能是24/7/365,而內部應用程序可以在不影響任何人但不影響管理員的情況下進行維護。 API可能需要設計用於擴展 - 意味着負載平衡 - 而管理站點可以在單個Web服務器上運行,因此可以在不需要IP粘性的情況下進行有狀態化。

部署時間表不同。當系統功能改變時,API將會改變。只有在管理功能發生變化時,MVC UI纔會更改。您可能希望能夠升級一個,而讓另一個單獨離開。

沒有理由將這些應用程序鎖定在一起,並且有許多原因不適用。將它們組合起來絕對不是最佳實踐。