我有一個使用EF代碼第一次遷移的asp.net MVC應用程序。存儲在Web Deploy pubxml文件中的數據庫密碼
我使用Web Deploy將此項目發佈到Azure。
這一切運作良好,但我不喜歡的一件事是由Web Deploy創建的pubxml文件存儲從Azure Web App配置下載的連接字符串。
這些連接字符串包含SQL Azure的密碼,因爲我在源代碼控制的pubxml文件,這種情況並不理想:
<ObjectGroup Name="DefaultConnection" Order="3" Enabled="True">
<Destination Path="Data Source=tcp:###.database.windows.net,1433;Initial Catalog=###_db;User ID=###;Password=###" Name="Data Source=tcp:###.database.windows.net,1433;Initial Catalog=###_db;User Id=###;Password=###" />
<Object Type="DbCodeFirst">
<Source Path="DBMigration" DbContext="###.Server.Models.DAL.ApplicationDbContext, ###.Server.Models" MigrationConfiguration="###.Server.Migrations.Configuration, ###.Server" Origin="Configuration" />
</Object>
</ObjectGroup>
是否有配置它不存儲密碼或更好的辦法在保證密碼安全的同時進行部署的方式?
最簡單的就是不要在源代碼控制中存儲pubxml文件。否則,在連接字符串和其他祕密中輸入錯誤的值(佔位符),並在部署後使用Azure面板設置正確的值(您也可以使用PowerShell自動執行此部分)。 –
默認情況下,密碼被加密並且pubxml不包含在源代碼管理中。請參閱https://msdn.microsoft.com/zh-cn/library/dd465337(v=vs.110).aspx中的「配置連接選項卡」 – tmullaney