2013-09-23 2 views
1

Извините, если это похоже на глупый вопрос.Как предотвратить чтение app.config?

Мое приложение использует строку подключения для подключения к базе данных SQL Server 2008 и использует Crystal Report, мой сервер использует режим проверки подлинности микса.

Проблема: app.config Файл показывает строку подключения (имя пользователя & пароль), который я не хочу, чтобы кто-нибудь видел!

Data Source=.\SQLEXPRESS;Initial Catalog=ComplainsDb;Persist Security Info=false; User ID=abcde ;Password=MyPassword 

Спасибо за любую помощь.

+5

зашифровать app.config. Google это вы найдете много об этом. –

+0

Связанный [вопрос] (http://stackoverflow.com/questions/11637348/encrypt-connection-string-in-app-config) –

ответ

2

Вы должны вызвать что-то вроде этого, когда начинается ваша программа:

void EncryptConnectionStringsIfNecessary() 
    { 
     var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
     ConnectionStringsSection section = configFile.ConnectionStrings; 
     if (section != null) 
     { 
      if (!section.IsReadOnly()) 
      { 
       if (!section.SectionInformation.IsProtected) 
       { 
        section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); 
        section.SectionInformation.ForceSave = true; 
        configFile.Save(ConfigurationSaveMode.Full); 
       } 
      } 
     } 
    } 
+0

Это работа для меня до сих пор. но как я могу расшифровать этот файл? –

+1

Вам обычно ничего не нужно делать. Как поясняется в [документации MSDN] (http://msdn.microsoft.com/en-us/library/hh8x3tas.aspx), среда .NET будет автоматически расшифровывать параметры при доступе к 'ConfigurationManager.ConnectionStrings [connectionStringName]' , – shamp00

+0

Большое спасибо за помощь мне –

Смежные вопросы