我的代碼中的web.config文件只包含我的本地開發數據庫連接字符串,並且當我將我的Web應用程序部署到Azure時,它正確地將我的數據庫連接字符串來自門戶網站上應用程序設置中的連接字符串條目。然而,它然後創建和部署一個web.config文件與這個字符串以純文本(我可以看到這一點,如果我通過FTP檢查文件)。Azure以明文形式部署帶連接字符串的web.config文件
這是正確的行爲嗎?我真的不希望在部署的web.config文件中以純文本形式存儲連接字符串(但可能已經是安全的)。
現在是通過一些構建/部署步驟來加密web.config文件的這一部分的情況嗎?我曾在其他文章中看到過這一點,但尚不清楚如何在Azure上進行這項工作。
N.B.道歉,如果這已經被問我已經做了很多搜索,只是找不到任何直接引用最終web.config文件部署。
已經試過這個嗎? https://stackoverflow.com/questions/36951231/c-sharp-sql-how-to-encrypt-connectionstring-of-web-config-to-azure-sql-database – LoreX75
事實證明,我是愚蠢地離開'使用此連接字符串在運行時(更新目標web.config)「框中打勾,發佈到Azure嚮導,所以這就是注入連接字符串的原因。 – DaveU
另外,因爲我有'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