如何通过用户机密将值添加到 C# 中的对象数组
How to add values through user secrets to an array of objects in C#
所以我在尝试让 Visual Studio 将用户机密添加到数组 属性 时遇到了问题。我有一种感觉,这种事情无法完成,但我真的需要一种方法来遍历它们中的每一个,以完成我正在做的事情,并且我不允许将 clientSecrets 存储在标准的 appsettings 文件中显而易见的原因。
有没有办法做到这一点,如果没有,我可以更改此对象以使其在 C# 中可迭代,这也允许我将密码存储在用户机密中?
下面的对象显示了我试图将值存储到的应用程序设置的当前形状:
{
"TestClients": [
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
}
]
}
我试过将它变成一个对象并遍历键,但是当对象的形状如下时,我正在使用的控制台应用程序似乎找不到 TestClients 部分:
{
"TestClients": {
"ClientName": {
"ClientSecret": ""
}
}
}
配置 API 通过在配置键中使用定界符展平分层数据来读取分层配置数据。
usersecrets 使用相同的扁平化结构,在键中使用分隔符。
所以解决方案是在你的 secrets.json 中加入这样的东西
{
"TestClients:0:ClientSecret": "Some secret",
"TestClients:1:ClientSecret": "Other secret",
"TestClients:2:ClientSecret": "Next secret"
}
您可以在文档中找到更多详细信息:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#hierarchical-configuration-data
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#boa
所以我在尝试让 Visual Studio 将用户机密添加到数组 属性 时遇到了问题。我有一种感觉,这种事情无法完成,但我真的需要一种方法来遍历它们中的每一个,以完成我正在做的事情,并且我不允许将 clientSecrets 存储在标准的 appsettings 文件中显而易见的原因。
有没有办法做到这一点,如果没有,我可以更改此对象以使其在 C# 中可迭代,这也允许我将密码存储在用户机密中?
下面的对象显示了我试图将值存储到的应用程序设置的当前形状:
{
"TestClients": [
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
},
{
"ClientSecret": ""
}
]
}
我试过将它变成一个对象并遍历键,但是当对象的形状如下时,我正在使用的控制台应用程序似乎找不到 TestClients 部分:
{
"TestClients": {
"ClientName": {
"ClientSecret": ""
}
}
}
配置 API 通过在配置键中使用定界符展平分层数据来读取分层配置数据。 usersecrets 使用相同的扁平化结构,在键中使用分隔符。
所以解决方案是在你的 secrets.json 中加入这样的东西
{
"TestClients:0:ClientSecret": "Some secret",
"TestClients:1:ClientSecret": "Other secret",
"TestClients:2:ClientSecret": "Next secret"
}
您可以在文档中找到更多详细信息: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#hierarchical-configuration-data https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#boa