Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 源代码管理中的.NET核心环境变量_C#_Asp.net Core_Aspnetboilerplate - Fatal编程技术网

C# 源代码管理中的.NET核心环境变量

C# 源代码管理中的.NET核心环境变量,c#,asp.net-core,aspnetboilerplate,C#,Asp.net Core,Aspnetboilerplate,我正在学习使用.NETCore5.0框架,并阅读了有关管理用户机密的内容。来自Node.js,我习惯于.env文件,例如存储数据库连接凭据的文件 当查看诸如或之类的样板文件时,我注意到数据库连接字符串仍然位于appsettings.json中,而该字符串不在.gitignore文件中 "PersistenceModule": { "DefaultConnection": "Server=localhost;User Id=sa;Passw

我正在学习使用.NETCore5.0框架,并阅读了有关管理用户机密的内容。来自Node.js,我习惯于
.env
文件,例如存储数据库连接凭据的文件

当查看诸如或之类的样板文件时,我注意到数据库连接字符串仍然位于
appsettings.json
中,而该字符串不在
.gitignore
文件中

"PersistenceModule": {
    "DefaultConnection": "Server=localhost;User Id=sa;Password=<YourStrong!Passw0rd>;Database=Accounts;"
},
“PersistenceModule”:{
“DefaultConnection”:“服务器=本地主机;用户Id=sa;密码=;数据库=帐户
},
我是不是误解了ASP.NET中的uset秘密?
每个人的数据库密码都是一样的吗?

您可能想检查一下。在.Net中,只要appsettings.json文件正确标记,就可以在启动时通过命令行将核心机密从环境变量插入appsettings.json文件中。此外,还可以使用存储在密钥库(如Hashicorp vault或Microsoft的Azure密钥库)中的值覆盖appsettings.json文件。

这是否仍然意味着密码将位于
appsettings.json
文件中?否。该属性将存在,但密码的实际值不会存在。将存储在密钥库或环境变量中。无论你选择哪一个。我也曾在一个地方工作过,那里确实将密码存储在一个不属于源代码管理的文件中,然后他们会覆盖源代码管理中的appsettings中的值。我不知道哪条路最好。我认为钥匙保险库是最好的选择。