Требования: Проекту может потребоваться взаимодействие с сторонними интерфейсами, такими как платеж, SMS, электронная почта, официальный аккаунт и т.д., вызов этих интерфейсов требует учетных данных (часто говорят: токены, ключи). Если проект важнее (или в большой команде), эти конфигурационные элементы не рекомендуется записывать напрямую в исходный код, так как конфигурация также будет отправлена в репозиторий исходного кода; после утечки конфигурации в исходном коде это может привести к более серьёзным последствиям, можно использовать .NET Вводите секреты приложений для обеспечения безопасности конфигурации без влияния на разработку.
Инструмент Secrets Manager хранит конфиденциальные данные во время разработки приложений. В этом контексте конфиденциальная часть данных считается секретом приложения. Секреты приложений хранятся в другом месте, чем в дереве проектов. Секреты приложений связаны с конкретными проектами или передаются между несколькими проектами.Секреты приложений не проверяются в контроле версий。
Сначала добавьте в конфигурационный файл следующее:
Затем прочитайте её, как показано ниже:
Предполагая, что сайт в конфигурации является конфиденциальной информацией и не должен быть внесен в репозиторий кода, вы можете кликнуть правой кнопкой мыши по VS "Управление пользовательскими секретамиЧтобы включить функцию, настройте её следующим образом:
В то же время файл .csproj будет увеличиватьсяUserSecretsIdРаздел конфигурации, запусти проект заново и обнаруживаешь, что конфигурация уже является конфиденциальной для чтения (Ключи пользовательского секрета имеют приоритет над appsettings.json и настройками приложения. {Окружение}.json ключ), как показано ниже:
Путь хранения конфиденциального профиля:
Виндоус:%APPDATA%\Microsoft\UserSecrets\<user_secrets_id>\secrets.json
Линукс:~/.microsoft/usersecrets/<user_secrets_id>/secrets.json
Возьмём Windows в качестве примера, как показано ниже:
Ссылка:
Вход по гиперссылке виден.
Вход по гиперссылке виден.
|