Защита строки подключения в Windows Azure и web.config - PullRequest
3 голосов
/ 01 декабря 2010

Я шифрую строку подключения в web.config, как описано здесь:
http://blogs.msdn.com/b/sqlazure/archive/2010/09/07/10058942.aspx
опубликовано в Azure, и все работает как положено.

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

<connectionStrings configProtectionProvider="CustomProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
 ...
</EncryptedData>

с обычным незашифрованным разделом на web.config.debug

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=localhost...
</connectionStrings>

У меня не было проблем с добавлением разделов с помощью xdt: Transform = "Insert, но мне не удалось удалить разделы из web.config.
Это приводит к сообщению об ошибке анализатора: нераспознанный элемент «EncryptedData» при выполнении веб-проекта в режиме отладки.

Есть ли способ удалить раздел EncryptedData для web.config.debug или лучше решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 22 августа 2014

Да, вы можете поместить их в файл .csfg и создать библиотеку для извлечения строки подключения (просто укажите DLL):

public class MyContext : DbContext
{
    private MyContext(string connString)
        : base(connString)
    {
    }

    public static MyContext GetMyContext()
    {
        string dbConnString = CloudConfigurationManager.GetSetting("MyDbConnectionString");

        return new MyContext(decrypt(dbConnString));
    }
}
0 голосов
/ 03 апреля 2011

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

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