Как скрыть параметры приложения web.config при использовании публикации GIT и WebDeploy

Я изо всех сил пытаюсь найти хороший способ не проверять мои секретные пароли в моих файлах типа web.config.production (тех, которые преобразуются, когда публикация Web Deploy выполняется). мой рабочий процесс заключается в том, что моя команда проверяет вход и выход из github, а затем, когда мы готовы выполнить производственное развертывание, у нас есть пользовательская конфигурация web.config.deployment, в которой есть все наши настоящие пароли. Проблема в том, что все разработчики видят эти пароли.

Я ищу предложения о том, как не помещать эти пароли в наш репозиторий github с минимальными трениями. То есть теперь нам нужно подключиться к нашему веб-серверу и вручную изменить эти пароли. Azure позволяет установить их на портале Azure, но мы не используем Azure.


person Peter Kellner    schedule 08.12.2013    source источник


Ответы (1)


Один из вариантов — сохранить эти настройки\строки подключения приложения в IIS. Затем они будут применены к файлу web.config при запуске, и доступ к ним смогут получить только участники, имеющие доступ к вашему администрированию IIS.

См. эти сообщения:
http://forum.winhost.com/threads/setup-the-connection-string-in-web-config.7592/ http://technet.microsoft.com/en-us/library/cc753224(v=ws.10).aspx

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

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

person malexander    schedule 08.12.2013
comment
Есть ли хорошие инструменты для удаленного доступа к этим данным, защищенным паролем? RDP-подключение к нашему серверу никогда не было забавным занятием. Я также не хотел бы вручную вводить эту информацию в inetmgr для каждого веб-сайта. Мне нравится идея файлов развертывания web.config, но не то, что они находятся в том же репозитории github, что и остальная часть нашего исходного кода в github. - person Peter Kellner; 09.12.2013
comment
Похоже, что лучшим вариантом для вас может быть шифрование разделов в файле web.config, msdn.microsoft.com/en-us/library/53tyfkaw(v=vs.100).aspx - person malexander; 09.12.2013
comment
Настройки приложения в IIS — это только пользовательский интерфейс для редактирования web.config. Они перезаписываются после веб-развертывания. - person Der_Meister; 31.01.2014