.Net Core可以在启动设置中根据环境改变用户秘密吗?



在我的开发机器上,我将connection strings存储在所有Appsettings{environment}.json文件中。
当我在Production环境中遇到某种问题时,我将launch.settings文件更改为Production,然后我可以使用Production数据库调试解决方案。

我想从我的Appsettings文件中移动一些凭证密钥,并将它们存储在我的开发机器的UserSecret中。

从我的理解UserSecret不像appsettings那样支持UserSecret{environment}.json
.Net Core是否支持每个环境的用户秘密?

那么,当LaunchSettings中的环境发生变化时,我如何在本地机器上使用UserSecret,但仍保持更改连接字符串的能力呢?

据我所知,用户秘密仅用于开发而不是用于生产。生产秘密不应该用于开发或测试。秘密不应该与应用一起部署。

您可以尝试使用多个连接字符串,如:ConnectionStrings:productionDBConnectionStrings:developmentDB

此外,生产机密应该通过受控的方式访问,如环境变量Azure密钥库. 您可以使用Azure Key Vault配置提供程序存储和保护Azure测试和生产机密。

更多详细信息,可参考以下文章:

在ASP中安全地存储应用程序开发中的秘密。网络核心

在ASP中使用多个环境。网络核心在ASP中存储生产机密。网络核心

最新更新