C# 源代码管理中的.NET核心环境变量
我正在学习使用.NETCore5.0框架,并阅读了有关管理用户机密的内容。来自Node.js,我习惯于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
.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中的值。我不知道哪条路最好。我认为钥匙保险库是最好的选择。