You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC中隐藏ConnectionString的简便方案咨询

不暴露ConnectionString的简单解决方案

方法1:用环境变量

  • 把appsettings.json里的ConnectionString移除,改用系统环境变量存储
  • 操作步骤:
    1. 在本地系统或部署服务器的环境变量中新增一个变量,比如命名为MyDb_ConnectionString,值填写你的连接字符串
    2. 代码里直接读取环境变量:
      var connectionString = Environment.GetEnvironmentVariable("MyDb_ConnectionString");
      
    3. 或者在appsettings.json里通过占位符引用(.NET Core 3.1及以上版本支持):
      {
        "ConnectionStrings": {
          "MyDb": "${MyDb_ConnectionString}"
        }
      }
      
  • 优势:和代码完全解耦,本地、服务器、容器环境通用,不会被提交到版本控制仓库

方法2:本地开发用.NET用户机密

  • 专门针对本地开发场景,避免敏感字符串被提交到Git
  • 操作步骤:
    1. 右键项目 → 「管理用户机密」,系统会自动打开一个本地的secrets.json文件(该文件不在项目目录内,不会被Git追踪)
    2. 在secrets.json中写入连接字符串:
      {
        "ConnectionStrings": {
          "MyDb": "你的敏感连接字符串"
        }
      }
      
    3. appsettings.json里可以保留空的配置项,.NET会自动优先读取用户机密中的值
  • 注意:用户机密仅适用于本地开发,生产环境请使用环境变量或云服务配置中心

额外提醒

  • 务必删除appsettings.json里的原始敏感连接字符串,不要留下痕迹
  • 检查.gitignore配置,确保包含敏感信息的文件(如用户机密相关目录)不会被提交到版本库

内容的提问来源于stack exchange,提问作者Matěj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:34:52