Шифровать строки подключения при использовании Linq To SQL - PullRequest
1 голос
/ 31 мая 2010

Как лучше всего шифровать раздел connectionStrings в файле web.config при использовании LINQ TO SQL?

Ответы [ 2 ]

3 голосов
/ 31 мая 2010

Прежде всего, раздел шифрования в web.config / app.config не относится только к Linq2Sql. .Net Framework поставляется со специальным набором классов, который позволяет вам независимо шифровать / дешифровать части web.config / app.config.

Вы можете зашифровать разделы вашего web.config с помощью провайдера DPAPI. Больше ничего не нужно менять в вашем приложении. вы все еще продолжаете читать appsettings и conn. струны как обычно. Используйте этот код ниже для шифрования / дешифрования частей вашего конфигурационного файла.

//call: ProtectSection("connectionStrings","DataProtectionConfigurationProvider"); 
private void ProtectSection(string sectionName, string provider) 
{ 
    Configuration config = 
        WebConfigurationManager. 
            OpenWebConfiguration(Request.ApplicationPath); 

    ConfigurationSection section = config.GetSection(sectionName); 

    if (section != null && !section.SectionInformation.IsProtected) 
    { 
        section.SectionInformation.ProtectSection(provider); 
        config.Save(); 
    } 
} 

//call: UnProtectSection("connectionStrings"); 
private void UnProtectSection(string sectionName) 
{ 
    Configuration config = 
        WebConfigurationManager. 
            OpenWebConfiguration(Request.ApplicationPath); 

    ConfigurationSection section = config.GetSection(sectionName); 

    if (section != null && section.SectionInformation.IsProtected) 
    { 
        section.SectionInformation.UnprotectSection(); 
        config.Save(); 
    } 
} 
1 голос
/ 31 мая 2010

Если вы чувствуете необходимость в этом, вы можете просто зашифровать секцию <connectionStrings> вашего web.config файла - это стандартная процедура .NET, с этим может справиться весь код .NET - без проблем:

или Google или Bing за это - вы получите тысячи просмотров .....

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