2013-04-04 91 views
0

我們有不同的基於Web的產品。所有產品共享相同的底層認證和授權機制。所有都在同一臺數據庫服務器上,最終發佈到同一臺服務器上。組織開發共享UI的多個Web項目

每個項目都有自己的名稱空間,文件夾結構和頁面。仍然由於身份驗證和授權是共享的,我們在所有項目中使用登錄和其他頁面。

此外,爲了使整個項目/產品的外觀和感覺一致,我們使用相同的母版頁。

目前我們有一個單獨的項目,其中包含代碼,標記和腳本等共享的東西。我們將標記和其他內容複製到所有項目中以構建和運行它們。這真是一個地獄。我們必須隨時包含/排除文件,更改命名空間等,以確保共享內容在所有相關項目中處於相同版本。

什麼是最好的方法來處理所有這一切,我們不去庇護?

我們在ASP.Net 4.0,Visual Studio 2010,Telerik 2013 Q1發佈。

回答

1

你有幾個選擇來改善你的情況。您的最佳選擇可能取決於您提供的信息,但以下內容可能值得調查。

  1. 解耦授權系統。如果多個應用程序使用單個通用授權代碼庫,那麼您可能需要考慮將功能解耦爲獨立(可能是基於Web服務的)應用程序。通過這樣的架構進行授權是棘手的,並且從安全角度來看很容易出錯,但是可以實現。授權代碼庫將只需要維護在一個地點,這將不可避免地減少部署和建設失誤。

  2. 擴展配置管理。您的應用程序是否具有任何配置管理功能?如果不是,它應該。它可以很好地解決你的問題,包括和排除和命名空間斬波,尤其是當與第3點相結合時。

  3. 改進的版本控制管理。聽起來好像你可能沒有充分利用你的版本控制系統。雖然你提到了你的問題中的版本,但如果你爲不同的應用程序維護了不同應用程序的不同分支,那麼由於自定義可以共存,所以命名空間的切斷以及包含和排除可能會減少甚至不必要。