Asp.net core 发展中的秘密
在开发中,有没有一种好方法可以将秘密存储在环境变量中,而不将它们存储在git中?在VSAsp.net core 发展中的秘密,asp.net-core,.net-core,Asp.net Core,.net Core,在开发中,有没有一种好方法可以将秘密存储在环境变量中,而不将它们存储在git中?在VSProperties->Debug->Environment variables中可以设置它,但我猜它存储在.VS目录的某个地方。是否应该承诺 我喜欢红色,对于这么简单的任务来说,听起来太复杂了。此外,我还希望为开发和生产提供相同的秘密加载代码。我猜这是过时的文档。在Core3.0中,您不需要为模板ASP项目添加任何特殊内容,它几乎是开箱即用的 public class Startup {
Properties->Debug->Environment variables
中可以设置它,但我猜它存储在.VS目录的某个地方。是否应该承诺
我喜欢红色,对于这么简单的任务来说,听起来太复杂了。此外,我还希望为开发和生产提供相同的秘密加载代码。我猜这是过时的文档。在Core3.0中,您不需要为模板ASP项目添加任何特殊内容,它几乎是开箱即用的
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
Configuration
将使appsettings.json中的值被secrets.json覆盖。json被环境变量覆盖。任务并不简单,但本文做到了这一点。这并不复杂,您所描述的内容将向每个应用程序公开这些秘密。环境变量是操作系统环境变量。根据它们的类型(系统或用户),在您的计算机上运行的每个应用程序或在您登录时运行的每个应用程序都能够读取它们。在任何情况下,都不会阻止您将机密存储在env变量中并使用配置扩展读取它们。Secrets只是另一个配置提供程序,与其他配置提供程序相同。它们都产生相同的节:subsctiov:valueName
对。这意味着您可以从env变量、secrets文件、数据库或您自己的提供程序中读取配置值,最新的配置值将覆盖所有以前的值,这与dotnet user secrets
的功能有关。它会将一些值放入您帐户下特定于应用程序的文件夹中。就这样。没别的了。然后,您只需使用AddUserSecrets
。就这样。本文的其余部分仅讨论应用程序已经使用的配置系统