Автоматически шифровать разделы web.config после развертывания/публикации?
У меня есть два связанных вопроса:
Каков наилучший способ управления развертыванием веб-проектов между средами? Я просто загрузил проект .NET Web Deployment Project и, похоже, обрабатывал такие вещи, как замена определенных разделов web.config
для соответствия среде, что отлично. Другая вещь, которую я хотел автоматизировать, - это шифрование определенных разделов web.config
. Есть ли способ 'auto-encrypt'
раздела web.config
после публикации?
Второй вопрос: где вы храните свои пароли в web.config
? Я хочу зашифровать пароль, но не остальную часть appSettings. Нужно ли создавать настраиваемую область настройки web.config
?
Ответы
Ответ 1
Привет, Джоэл. Проект веб-развертывания немного устарел. Вместо этого проверьте инструмент MS Deploy (он будет поставляться с vs2010, но теперь он доступен отдельно). То, о чем вы спрашиваете, вероятно, не обрабатывается из коробки с MSDeploy (машинное шифрование DPAPI), но так как средство интегрировано с powershell, вы можете использовать функцию PowerShell v2 CTP3 remoting для запуска script для шифрования ваших configs на каждой машине, удаленно (это единственный способ, которым вы можете получить доступ к локальному DPAPI с помощью machien-local).
Этот парень здесь делает что-то похожее:
http://forums.iis.net/p/1156413/1904975.aspx
-Oisin
Ответ 2
Мы используем защищенную конфигурацию RSA для шифрования разделов нашего web.config вручную после развертывания webapp в новой среде. ОС защищает ключи для нас. Надеюсь, что это поможет, когда вы выясните, как автоматизировать свое решение.
Ответ 3
Теперь, похоже, поддержка шифрования разделов web.config после развертывания добавлена в версию 3.5 веб-развертывания.
https://blogs.iis.net/msdeploy/archive/2013/07/09/webdeploy-3-5-rtw.aspx