2017-08-10 57 views
0

我的代碼中的web.config文件只包含我的本地開發數據庫連接字符串,並且當我將我的Web應用程序部署到Azure時,它正確地將我的數據庫連接字符串來自門戶網站上應用程序設置中的連接字符串條目。然而,它然後創建和部署一個web.config文件與這個字符串以純文本(我可以看到這一點,如果我通過FTP檢查文件)。Azure以明文形式部署帶連接字符串的web.config文件

這是正確的行爲嗎?我真的不希望在部署的web.config文件中以純文本形式存儲連接字符串(但可能已經是安全的)。

現在是通過一些構建/部署步驟來加密web.config文件的這一部分的情況嗎?我曾在其他文章中看到過這一點,但尚不清楚如何在Azure上進行這項工作。

N.B.道歉,如果這已經被問我已經做了很多搜索,只是找不到任何直接引用最終web.config文件部署。

+0

已經試過這個嗎? https://stackoverflow.com/questions/36951231/c-sharp-sql-how-to-encrypt-connectionstring-of-web-config-to-azure-sql-database – LoreX75

+0

事實證明,我是愚蠢地離開'使用此連接字符串在運行時(更新目標web.config)「框中打勾,發佈到Azure嚮導,所以這就是注入連接字符串的原因。 – DaveU

+0

另外,因爲我有'Execute Code First Migrations'框勾選第二個「Context_DatabasePublish」conn字符串也被添加(本質上是第二個副本) - 所以我決定通過代碼手動運行我的代碼優先遷移,而不是使用此選項和web.config,如此處所述> https://stackoverflow.com/questions/30280346/ef-code-first-migrations-not-running-after-deploy-to-azure?rq=1。結果現在只是我在web.config中的本地開發連接字符串,並且在運行時由Azure將其替換爲我的門戶應用程序設置中的值 – DaveU

回答

0

如果我們不想以純文本格式在Web.config中配置連接字符串。我們可以將連接字符串設置爲Azure Website appsetting以在web.config中替換它。

有一個教程約How Application Strings and Connection Strings Work

開發者可以存儲純香草鍵 - 值對,以及將被用作連接字符串鍵 - 值對。由於鍵值對存儲在Windows Azure網站配置存儲的幕後,因此不需要將鍵值對存儲在Web應用程序的文件內容中。從安全性透視圖是一個很好的因爲諸如Sql連接字符串和密碼之類的敏感信息從未顯示爲web.config或php.ini文件中的明文。

相關問題