将appsettings.json安全地发布到Azure

时间:2017-08-09 20:39:05

标签: asp.net-core azure-web-sites

我正在使用aspnetcore中的SecretManager工具在开发期间存储连接字符串,以使其不受源代码控制。

这很好用。

但现在我想将应用程序发布到Azure。发布时,appsettings.json中没有连接字符串,因此应用程序无法连接到数据库。

那么我应该如何包含连接字符串?

如果我简单地将它添加到appsettings.json,它是否会破坏使用秘密管理器的全部目的?现在,我已将用户名和密码放入受源代码管理的文档中。

我有什么遗失的吗?我应该FTP到网站并将其添加到那里吗?

1 个答案:

答案 0 :(得分:4)

您应该将其置于Azure网站设置中。这是首选方法。

如果你的json看起来像这样:

{
  "ConnectionStrings": {
    "Context": "Server=(localdb)\\mssqllocaldb;Database=local-dev;Trusted_Connection=True"
  }
}

您创建一个名为Context的连接字符串(或者使用键ConnectionStrings:Context的设置)并在应用应用程序设置页面中输入您的连接字符串: Azure Site Settings - Connection Strings

请确保您在启动中使用环境变量:

var builder = new ConfigurationBuilder()
.AddEnvironmentVariables();