【问题标题】:publishing appsettings.json securely to Azure将 appsettings.json 安全地发布到 Azure
【发布时间】:2017-08-09 20:39:04
【问题描述】:
我在开发过程中使用 aspnetcore 中的 SecretManager 工具来存储连接字符串,以使其不受源代码控制。
这很好用。
但现在我想将应用程序发布到 Azure。发布时,appsettings.json中没有连接字符串,所以应用无法连接数据库。
那么我应该如何包含连接字符串?
如果我简单地将它添加到 appsettings.json,它不会破坏使用机密管理器的全部目的吗?到目前为止,我已将用户名和密码放入受源代码控制的文档中。
我有什么遗漏吗?我应该 FTP 到该站点并将其添加到那里吗?
【问题讨论】:
标签:
asp.net-core
azure-web-app-service
【解决方案1】:
您应该将它放在 Azure 站点设置中。这是首选方法。
如果你的 json 看起来像这样:
{
"ConnectionStrings": {
"Context": "Server=(localdb)\\mssqllocaldb;Database=local-dev;Trusted_Connection=True"
}
}
您创建一个名称为 Context 的连接字符串(或者使用键 ConnectionStrings:Context 进行设置)并在应用程序应用程序设置页面中输入您的连接字符串:
只需确保您在启动时使用环境变量:
var builder = new ConfigurationBuilder()
.AddEnvironmentVariables();