在我的开发机器上,我将connection strings
存储在所有Appsettings{environment}.json
文件中。
当我在Production
环境中遇到某种问题时,我将launch.settings
文件更改为Production
,然后我可以使用Production
数据库调试解决方案。
我想从我的Appsettings
文件中移动一些凭证密钥,并将它们存储在我的开发机器的UserSecret
中。
从我的理解UserSecret
不像appsettings
那样支持UserSecret{environment}.json
。
.Net Core是否支持每个环境的用户秘密?
那么,当LaunchSettings
中的环境发生变化时,我如何在本地机器上使用UserSecret
,但仍保持更改连接字符串的能力呢?
据我所知,用户秘密仅用于开发而不是用于生产。生产秘密不应该用于开发或测试。秘密不应该与应用一起部署。
您可以尝试使用多个连接字符串,如:ConnectionStrings:productionDB
和ConnectionStrings:developmentDB
。
此外,生产机密应该通过受控的方式访问,如环境变量或Azure密钥库. 您可以使用Azure Key Vault配置提供程序存储和保护Azure测试和生产机密。
更多详细信息,可参考以下文章:
在ASP中安全地存储应用程序开发中的秘密。网络核心
在ASP中使用多个环境。网络核心在ASP中存储生产机密。网络核心