C# ASP.NET核心:在何处放置用于生产的连接字符串
Net内核,使用5.0.100版,我正在尝试将我的web应用程序发布到托管提供商。我正在尝试找出将连接字符串放置在何处。现在我已经把它放在appsetting.json中了C# ASP.NET核心:在何处放置用于生产的连接字符串,c#,sql-server,macos,asp.net-core-mvc,connection-string,C#,Sql Server,Macos,Asp.net Core Mvc,Connection String,Net内核,使用5.0.100版,我正在尝试将我的web应用程序发布到托管提供商。我正在尝试找出将连接字符串放置在何处。现在我已经把它放在appsetting.json中了 "ConnectionString": { "default": "data source=.; database= myDataBase; user id = sa; password = myPassw0rd", } 这是坏习惯吗?我担心有
"ConnectionString": {
"default": "data source=.; database= myDataBase; user id = sa; password = myPassw0rd",
}
这是坏习惯吗?我担心有人会找到连接字符串并入侵网站。提前谢谢你 有几个地方可以放置连接字符串:
- 设置文件,如appsettings.json
- 环境变量
- Azure密钥保险库
- Azure应用程序配置
- 命令行参数
- 自定义提供程序,已安装或已创建
- 目录文件
- 内存中的.NET对象
有关上述所有配置,请参阅文档。每个选项都有不同的风险,因此您需要评估哪一个选项对您的用例最有意义。您可以质疑如何最好地管理连接字符串。在任何配置文件(如appsettings.json和web.config)中存储凭据都不是一个好主意。有很多方法可以保护你的秘密。这实际上取决于您的特定用例。我首选的方法是使用应用程序池标识。这里有一些资源可以帮助您开始
我在web应用程序macOS上实现了环境变量。这可能是一个愚蠢的问题,因为我才刚刚开始,但所有托管提供商都提供环境变量吗?我想使用HostGator,但我不确定他们是否提供asp.net核心环境变量。我不能代表HostGator发言,但我希望所有托管提供商都提供一种设置环境变量的方法。