Как добавить строку подключения в DNN 8

Похоже, что DNN 8 имеет зашифрованную строку подключения для доступа к своей базе данных:

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
  <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
        <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
          <KeyName>Rsa Key</KeyName>
        </KeyInfo>
        <CipherData>
          <CipherValue>MINjgIFInXezSIMnkeV2AoPfb69wdpXKG89QUv2IHlPwwsEg5VZjWWOx+Cf/xXzFhrPQV3QINry5WYq/KCBnsfIHfQHJSzzVtqkXB/OX2/oDSHZc7lRVIExNdHCkmSmyRneZP5hJEN6qm6RTHncJbmPLk7zO2D7om5SyfJ48bzo=</CipherValue>
        </CipherData>
      </EncryptedKey>
    </KeyInfo>
    <CipherData>
      <CipherValue>JRI+aV/tS2D0Xf3bDV2MJIqj6m0csfxF3KzRse4ij/H77NZSlP8BfHlfYk6Iw1jtbE2T2BZc7wjDj7CqFbqqRRUQMQE41XlP9VQQU/uIxR6R7AafCgTiE/iUUlACEvweRPw2y8p+vGF4zpzUS67OGb3tZgA6kUrg0piJLSWJvXvsZ/MFUMZy6OFljKQGKVTnsd94CUKonf0NmpuuSYSVKsbuPxZzQ4H1wg+H4vFkbOUJSjv13J0ioRtFOpPdugtPW/FdDAS+Y4hGfGUrpqXT6604+JuJc53/yAVsXDvzHWQ=</CipherValue>
    </CipherData>
  </EncryptedData>
</connectionStrings>

Я хотел бы добавить еще одну строку подключения к отдельной базе данных, к которой мне нужно получить доступ при разработке пользовательских модулей. Как добавить незашифрованную строку подключения или как зашифровать дополнительную строку подключения и добавить ее в web.config?


person BKahuna    schedule 15.02.2017    source источник
comment
К вашему сведению, я не думаю, что DNN шифрует их из коробки, из сотен моих установок DNN я никогда не видел этого без ручного выполнения.   -  person Chris Hammond    schedule 16.02.2017
comment
Я тоже никогда раньше не видел. Но я никогда раньше не устанавливал версию 8. Я уверен, что не шифровал его!   -  person BKahuna    schedule 17.02.2017


Ответы (2)


Решил это. Вам нужно расшифровать раздел connectionString в файле web.config, после чего вы сможете добавить дополнительные строки подключения. Вы можете повторно зашифровать, если хотите, после этого (или оставить все как есть). Чтобы расшифровать:

Установите пакет SDK для .NET на веб-сервер.

Вызов командной строки с повышенными привилегиями

Введите: aspnet_regiis -pdf "connectionStrings" "путь к папке, содержащей web.config"

Если все пойдет хорошо, это расшифрует вашу строку подключения.

person BKahuna    schedule 16.02.2017

В файле web.config просто перейдите к узлу connectionStrings и добавьте туда новую запись. Вот пример (вам не нужно добавлять узел connectionStrings, просто вставьте новую запись перед конечным узлом.

  <connectionStrings>
    <add name="NewSQLConnection" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;User ID=DatabaseUser;Password=DataBasePassword" providerName="System.Data.SqlClient" />
  </connectionStrings>
person Chris Hammond    schedule 15.02.2017
comment
Спасибо, но боюсь, это не так просто. Мои строки конфигурации зашифрованы, и вы не можете просто добавить незашифрованную запись в узел. Если вы это сделаете, он выдает ошибку о неправильном формате web.config (раздел помечен как защищенный...). - person BKahuna; 16.02.2017