作爲分離生產環境和開發環境的最佳實踐,您會推薦什麼,但是從代碼本身的角度來看。區分生產和開發環境
示例:想象使用Active Directory的應用程序,該應用程序應僅基於域控制器進行身份驗證,而不考慮Windows中的本地用戶和組設置。 對於生產環境,代碼應忽略本地用戶和組,以避免出現安全漏洞。對於開發環境(開發機器,構建機器...),應該允許這些本地設置更容易開發/測試(可以說爲測試設置域控制器有點昂貴,並且本地組參與可以很容易地進行更改,以便開發人員可以測試不同的測試用例)。
我在這裏陳述的具體例子並不重要,因爲任何類似的應該在實際生產中啓用/禁用的情況可能發生的情況是重要的。另外,請記住,我不是在討論爲應用程序提供不同的配置文件,因此開發環境的設置應該以某種方式完全隱藏,因爲這會導致一些非常嚴重的安全問題)。
我建議使用編譯器指令(#if ... #endif)的醜陋但安全的想法,併爲開發/生產構建使用適當的編譯符號。 –
在我的場景中,我有一個web.config文件和兩個轉換文件,一個用於發佈,一個用於調試。在調試文件內部,認證模式被設置爲表單,在發佈文件中,它被設置爲windows認證。 – gustavodidomenico
你可以檢查身份驗證模式:http://stackoverflow.com/questions/91831/detecting-web-config-authentication-mode – gustavodidomenico