繁体   English   中英

ASP.NET 内核:生产连接串的放置位置

[英]ASP.NET Core: Where to place Connection String for Production

ASP.Net Core,使用版本 5.0.100,我正在尝试将我的 web 应用程序发布到托管服务提供商。 我试图找出放置连接字符串的位置。 截至目前,我将它放在appsetting.json中。

"ConnectionString": {
    "default": "data source=.; database= myDataBase; user id =    sa; password = myPassw0rd",
  } 

这是不好的做法吗? 我担心有人可能会找到连接字符串并破解网站。 先感谢您!

有几个地方可以放置连接字符串:

  • 设置文件,如 appsettings.json
  • 环境变量
  • Azure 密钥库
  • Azure 应用程序配置
  • 命令行 arguments
  • 自定义提供程序,安装或创建
  • 目录文件
  • 内存中 .NET 对象

有关上述所有配置,请参阅ASP.NET 内核中的配置文档。 每个选项都有不同类型的风险,因此您需要评估哪个选项对您的用例最有意义。

很高兴您质疑如何最好地管理连接字符串。 在 appsettings.json 和 web.config 等任何配置文件中存储凭据是个坏主意。 有多种方法可以保护您的秘密。 这实际上取决于您的特定用例。 我首选的方法是使用应用程序池标识。 这里有一些资源可以帮助您入门。

连接字符串安全 C#

保护连接信息

应用程序池标识

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM