Visual Studio - Имя пользователя / Управление паролями для развертывания / контроля исходного кода / совместного использования исходного кода - PullRequest
4 голосов
/ 13 апреля 2010

Мне нужна упрощенная методология, позволяющая запускать локально (работа выполняется на более чем одной машине), развертывать и выполнять контроль версий, где конфиденциальная информация вплоть до (включая пароль, имя пользователя, порт (-ы) ), имена хостов, имя базы данных) автоматически отсутствуют (или удалены) и импортируются в зависимости от ситуации?

Чувствительные данные были перечислены в порядке важности, поэтому, хотя решения с использованием только паролей хороши, чем дальше по цепочке, тем лучше. Другим приятным было бы иметь пример файла-заглушки для того, чтобы кто-то еще мог опробовать проект на своем компьютере с собственным хостом, просто заполнив недостающие части файла-заглушки.

Какие есть варианты для этой функции? Я думал о добавлении соответствующих настроек в локальный файл machine.config, но затем информация сохраняется в файле компьютера, а не где-то в зашифрованном виде в моем файле пользовательских документов. Кроме того, это не очень хорошо подходит для локального фиктивного файла для новых программистов, которые могут подключиться и играть.

Я думаю, что самое чистое решение - это локальный файл .config в корне проекта, который не добавлен в систему управления версиями.

Если есть способ зашифровать его таким образом, чтобы серверный компьютер был единственным с ключом для дешифрования файла (а не проекта, способного это сделать), который будет развернут, что было бы потрясающе. Тогда я мог бы хранить данные в системе контроля версий, делиться источником с другими людьми, заинтересованными в изучении проекта, без получения ими фактической информации, необходимой для внесения серьезных изменений или просмотра личной информации.

1 Ответ

0 голосов
/ 18 февраля 2012

Мы используем несколько файлов .config: один для разработчика, один для интеграции, один для обеспечения качества, один для подготовки к производству и один для производства. Каждый файл помечен суффиксом (например: .prod).

В этих файлах содержится все, что необходимо программному обеспечению для подключения к базам данных и серверам, за исключением рабочего файла .config, в котором строки подключения, пользователи и пароли были заменены местозаполнителями.

Когда мы отправляем новую версию программного обеспечения производственной команде, мы отправляем обновленный, но «нейтрализованный» файл .config. Затем производственная команда добавляет недостающую информацию.

Я думаю, что шифрование файла (или информации) не является решением: тогда у вас возникнет новая проблема: как скрыть ключи, используемые для шифрования ...

(Примечание. Мы используем преобразования для создания правильного файла .config для каждой среды.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...