2012-07-02 92 views
1

在IIS 7.5 web.config中,我們可以爲不同的路徑/文件夾設置權限,像這樣:web.config中的條件位置授權?

<location path="logs/elmah/elmah.axd"> 
    <system.web> 
     <authorization> 
     <allow users="[email protected]" /> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

是否有可能使這一授權條件?例如,如果它是實時服務器,而不是本地或分段服務器或測試版或其他服務器,則僅使用此位置?

我用這個來表示當前有哪些服務器是:

<appSettings> 
    <clear /> 
    <add key="DeploymentEnv" value="Debug" /> 
</appSettings> 

然後web.config文件轉變爲DeploymentEnv更改爲正確的值。

回答

4

針對不同的環境有不同的Web.config文件,這可能是正確的方法。看看Web.config transformations。 此MSDN article顯示如何配置暫存配置。

+0

+1當然可以。我已經在應用設置中使用變換,所以只需要使用變換來僅包含生產web.config中的位置節點 –

2

如果你打算使用依賴於環境的條件web.config文件,那麼它會尋找什麼?機器名稱? IP地址?有條件選擇合適的人可能會變得混亂,難以維護。

最簡單的方法是爲每個環境配置兩個或多個配置文件。稍後可能需要將mor標記添加到配置文件中,這是特定於環境的。擁有單獨的配置文件可幫助您管理這些更改。確保將它們命名爲適當的名稱,例如production.config uat.config等,並在將它們移動到不同的環境時將它們重命名爲web.config。