Как обезопасить строки подключения в VS? - PullRequest
2 голосов
/ 24 апреля 2010

Я вижу, что некоторые другие опубликовали этот вопрос, однако ни одно из решений, которые я пробовал, еще не исправило это. У меня 32-битная XP, работающая на VS 2008, и я пытаюсь зашифровать строку подключения в моем файле web.config.

Но я получаю ошибку: Раздел конфигурации "..." не найден. Ошибка!

Команда, которую я даю: C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC> Aspnet_regiis.exe -pe "system.we b / AdventureWorksConnectionString2 "-app" / Документы и настройки / Администратор / Мой документ нц / Visual Studio 2008 / Проекты / AddFileToSQL2 "

Кроме того, как -app отображает виртуальный каталог? Другими словами, путь выше - это каталог прямо под c :. Это правильный путь для использования? И AddFileToSQL2 - это имя моего проекта, хотя оно является частью решения AddFileToSQL.

У меня есть доступ к этой папке через Интернет со всеми разрешениями.

И соответствующая часть моего файла web.config:

  <add name="AdventureWorksConnectionString2" connectionString="Data Source=SIDEKICK;Initial Catalog=AdventureWorks;Persist Security Info=true; User ID=AdventureWorks;Password=sqlMagic"
    providerName="System.Data.SqlClient" />

1 Ответ

2 голосов
/ 24 апреля 2010

С помощью DPAPI вы можете шифровать только целые разделы, насколько мне известно. Таким образом, вы не можете зашифровать только одну строку подключения, но весь раздел connectionStrings. Во-вторых, -app относится к виртуальному пути к приложению на вашем сервере IIS, в котором он должен найти данный раздел и файл конфигурации. Таким образом, если ваш сайт выглядит так:

root
    /appFoo

И вы хотели зашифровать строки подключения в / appFoo, что вы сделали бы

aspnet_regiis -pe "connectionStrings" -app "/appFoo"

Как: зашифровать разделы конфигурации в ASP.NET 2.0 с помощью DPAPI

...