Asp.Net Core 配置系统和管理用户机密

Asp.Net Core 配置系统和管理用户机密

1.Asp.Net Core 配置系统集成

(1)ASP.NET Core默认添加的配置提供者

  • 加载现有的IConfiguration
  • 加载项目根目录下的appsettings.json
  • 加载项目根目录下的appsettings.{Environment}.json
  • 当程序运行在开发环境下,程序会加载“用户机密”配置
  • 加载环境变量中的配置
  • 加载命令行中的配置

(2)读取方法

  • IWebHostEnvironment
  • Environment.GetEnvironmentVariable
 [Route("api/[controller]/[action]")]
    [ApiController]
    public class HomeController : ControllerBase
    {
        private readonly IWebHostEnvironment webHostEnvironment;

        public HomeController(IWebHostEnvironment webHostEnvironment)
        {
            this.webHostEnvironment = webHostEnvironment;
        }

        [HttpGet]
        public string? GetEnvir()
        {
            return Environment.GetEnvironmentVariable("TMP");
        }

        [HttpGet]
        public string? GetWebHostEnvir()
        {
            return webHostEnvironment.EnvironmentName;
        }

    }
  • app.app.Environment

image-20220306231246596

2.Asp.Net Core 防止机密信息外泄到github

(1)secrets.json

项目右键--->管理用户机密

image-20220306232705590

secrets.json地址对应项目属性的UserSecretsId

image-20220306232845375

读取secrets.json

app.Configuration.GetSection("connStr").Value

image-20220306233454445

(2)系统不同环境读取不同的配置文件

image-20220306234028112

posted @ 2022-04-08 15:28  peng_boke  阅读(285)  评论(0编辑  收藏  举报