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
2.Asp.Net Core 防止机密信息外泄到github
(1)secrets.json
项目右键--->管理用户机密
secrets.json地址对应项目属性的UserSecretsId
读取secrets.json
app.Configuration.GetSection("connStr").Value
(2)系统不同环境读取不同的配置文件