2014-02-24 74 views
1

我有一個公共站點和一個基本的,安全的cms'y站點。他們將在同一主機上。我想使用相同的數據庫(從cms寫入,從公共讀取),可以訪問相同的內容(文件系統),以便我可以從cms站點將圖像(不是sql blobs)上載到公共站點。在站點之間共享內容/數據庫

這樣做的最好方法是什麼?它是通過我的web.config中的一些權限設置?

我會把它作爲一個帶有區域或名稱空間的單個站點,但我使用的WebAPI並不真正支持它(是的,你可以做到,但陷阱很快就會變得明顯)。

+1

它與權限無關,只需將另一個ConnectionString寫入web.config – Kuzgun

回答

1

這個問題有很長的答案和簡短的答案。

簡短的回答:

  • 數據庫訪問將在相關網站()的web.config文件進行控制。多個站點可以輕鬆地與同一個數據庫進行交談,同一個站點(Web服務器場)可以有多個實例。
  • 文件系統訪問將被控制在IIS級別。您可以授予用戶運行站點對目錄,位置和文件權限的權限,從而爲文件系統分配訪問權限。

長的答案

的原因有很長的答案是,可以有多種選擇這裏,這一切取決於你如何設置你的籌碼。所以你想建立2個網站,從2個不同的角度管理相同的數據?這裏有幾個選項把我的頭頂部:

一個

我想說的最簡單的方法是將有有2個web項目中有一個解決方案。好處:

  • 2個網站將不同的事情作爲一個解決方案的一部分 - 具有邏輯意義和技術意義。
  • 然後,它們可以在IIS中作爲單獨的站點進行部署,因此可以很容易地作爲單獨的url或一個url的子域進行管理。
  • 他們可以共用一個DLL,它基本上是處理應用程序,或者也可以僅僅是2個不同的版本

兩個

如果您正在使用的Web API,爲什麼不能有兩個站點的功能內置於API中,然後在API上設置訪問級別以限制特定站點可以執行的活動(即管理內容與讀取內容)。一些好處:

  • 兩個站點使用相同的代碼庫可以更輕鬆地組織您的業務邏輯。
  • 對特定功能的限制可以通過令牌或傳入IP範圍或其他選項來實現。

是你有分離功能的任何原因?基於登錄的用戶,您可以輕鬆擁有一個動態菜單,以及只需更改用戶允許訪問的功能的安全性。 (或者,正如你的文章所暗示的那樣,對於未經身份驗證的用戶來說,有一組「視圖」功能,而一組用於身份驗證)。

  • 易於部署配置文件
  • 單一的開發代碼庫
  • 常見的 - 這是許多博客框架(如果園)用戶在瀏覽模式,如果沒有登錄配置文件 - 即任何博客的讀者 - 但管理員/所有者可以登錄到博客/ cms功能。