2013-08-04 2 views
2

я добавил следующие настройки в моем файле Web.config для ASP.NET MVC веб-приложенияКак я шифровать и дешифровать содержимое Web.config

<appSettings> 
    //code goes here 
    <add key="ApiUserName" value="testuser" /> 
    <add key="ApiPassword" value=,,,… /> 
    <add key="ApiURL" value="http://win-spdev:8400/servlets/AssetServlet" /> 
    </appSettings> 

Эти настройки используются для инициирования вызова API как последовать внутри моего метода действия регулятора: -

using (var client = new WebClient()) 
        { 
         var query = HttpUtility.ParseQueryString(string.Empty); 
         foreach (string key in formValues) 
         { 
          query[key] = this.Request.Form[key]; 
         } 

query["username"] = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"]; 
query["password"] = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiPassword"]; 
query["assetType"] = "Rack"; 
query["operation"] = "AddAsset"; 
string apiurl = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiURL"]; 
var url = new UriBuilder(apiurl); 

Я прочитал ссылку о шифрования и дешифрования файла web.config http://msdn.microsoft.com/en-us/library/zhhddkxy.aspx. Но я не уверен, как сделать шифрование и дешифрование, описанные в ссылке, внутри моего метода действий выше?

+0

Возможный дубликат [шифрование и дешифрование через web.config] (http://stackoverflow.com/questions/5326695/web-config-encryption-decryption) –

ответ

3

В основном это два стандартных способа, вы можете использовать aspnet_regiis с DPAPI или с RSA. Преимущество этого в RSA заключается в том, что ваше приложение работает на нескольких компьютерах, которые вы можете зашифровать один раз с помощью ключа RSA и использовать тот же ключ для дешифрования на всех машинах, где, как и в DPAPI, вам придется зашифровать каждый из них специально для каждой машины. работает на.

С DPAPI, например, вы в основном просто заходите в каталог фреймворка и выполняете следующую команду.

aspnet_regiis -pe «ConnectionStrings» -app «/ MyApplication»

Команда выше будет шифровать строки подключения для «MyApplication», который будет имя вашего приложения в IIS. Теперь это должно быть запущено на машине, на которой запущено приложение, поэтому вам сначала нужно скопировать приложение на сервер. С помощью метода RSA вы можете зашифровать на своем компьютере (или создать сервер), а затем развернуть на любой желаемый компьютер.

Вы можете проверить прохождение игры подробно на http://msdn.microsoft.com/library/dtkwfdky.aspx

Аккуратной вещь об этом вам не придется беспокоиться о том, как получить доступ к настройкам приложения и строку подключения, вы можете просто использовать ConfigurationManager.Appsettings и ConfigurationManager.ConnectionString, как обычно, инфраструктура позаботится о том, чтобы сделать расшифровку для вас.

+1

спасибо за ответ, но t кажется, что с помощью regiis я могу зашифровать только раздел. так что в моем случае я должен зашифровать весь ? –

+1

Правильно, но это будет только для вашей серверной среды. – nerdybeardo