我有
appsettings.(test/staging/prod).json
,它包含一个 JSON 格式的密码字段,如下所示:
{
"database:
{
"password" :"some_value"
}
}
我已通过指定“database--password”作为密钥名称和带有密码的值将密码存储在 Azure Keyvault 中。
在我的
program.cs
文件中,我通过 AddAzureKeyVault
扩展检索密码,我可以看到密码已从 Azure Keyvault 成功检索。
现在如何将从 Azure Keyvault 检索到的密码值映射到
appsettings.json
文件中?
Azure Keyvault 检索发生后,如何自动将密码值推送到下面的 json 中,以便代码可以访问它?
{
"database:
{
"password" :"**password_from_azure**"
}
}
要将值推送到
appsettings.json
,文件必须包含相同的密钥,其中包含虚拟/空值。
"database": {
"password": "sample val "
}
检索到的KeyVault值:
var kvval = "Value from KeyVault";
builder.Configuration["database:password"] = kvval;
var app = builder.Build();
var conn= new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true)
.AddEnvironmentVariables()
.Build();
Controller
在
IConfiguration
public IConfiguration myconfig;
public WeatherForecastController(ILogger<WeatherForecastController> logger,IConfiguration config)
{
_logger = logger;
myconfig=config;
}
var KVVal= myconfig["database:password"]
输出: