【发布时间】:2020-06-11 17:02:09
【问题描述】:
假设我在appsettings.Development.json 中指定了开发环境的连接字符串,在appsettings.Staging.json 中指定了暂存环境的连接字符串
在 Development 和 Staging 之间切换所需要做的就是导航到项目属性中的 Visual Studio Debug 选项卡并更改 ASPNETCORE_ENVIRONMENT 环境变量的值。
现在,出于安全原因,我当然不想在appsettings.*.json 中有连接字符串。所以我将其移至用户机密。
问题是 - 似乎只有一个 secrets.json 文件被所有环境使用。没有secrets.Development.json 或secrets.Staging.json。这意味着在我通过 Visual Studio 调试选项卡从开发环境切换到暂存环境后,我还需要在 secrets.json 中手动更改连接字符串,这违背了为环境提供内置支持的目的。
每个环境不支持用户机密是否正确?如果是这样 - 是否有另一种方法可以避免在切换环境时手动修改 Secret 连接字符串?
【问题讨论】:
-
不熟悉API,但是可以用docs.microsoft.com/en-us/dotnet/api/…吗?
-
您可以使用单独的
secrets文件进行调试、发布等 -
谁投了反对票,你知道你可以为每个配置指定不同的秘密吗?如果不是,为什么要假设每个环境的不同秘密是愚蠢的?
-
@PanagiotisKanavos 为每个配置指定不同秘密的诀窍是什么?
--configuration(-c) 参数似乎对dotnet user-secrets命令没有任何作用。我试过dotnet --version5.0.403。 -
@BryanKnox 我将其添加到问题中
标签: visual-studio asp.net-core .net-core visual-studio-2019