Я следовал за этот ответ и теперь я не уверен, как вернуть правильные значения и использовать их в коде.
Это раздел конфигурации, который мне нужениспользовать:
"ConnectionStrings": {
"connString1": "CfDJ8P1kYd0KR1J........",
"connString2": "CfDJ8P1kYd0KR1J........"
}
И это мой файл Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddProtectedConfiguration();
services.ConfigureProtected<ProtectedConnectionStrings>(Configuration.GetSection("ConnectionStrings"));
services.AddDbContext<MyDBContext>(options =>
options.UseSqlServer(Configuration.GetSection("ConnectionStrings")["connString2"]));
.
.
.
Но значения, которые я получаю из конфигурации, не расшифровываются.
Кроме того, объект, возвращаемый из Configuration.GetSection()
, является обычным ConfigurationSection
объектом (а не пользовательским ProtectedConfigurationSection
объектом, который у меня есть).
Должны ли зашифрованные значения храниться в файле appsettings.json
?или они хранятся в файле key-....
?
Что я делаю не так?