Не удалось зашифровать раздел 'connectionStrings' с помощью поставщика 'RsaProtectedConfigurationProvider
Не удалось зашифровать раздел 'connectionStrings' с помощью поставщика 'RsaProtectedCo nfigurationProvider'. Сообщение об ошибке от провайдера: объект уже существует.
Я следовал руководству в http://msdn.microsoft.com/en-us/library/2w117ede.aspx но на шаге 3 в разделе Предоставление доступа удостоверений ASP.NET к контейнеру ключей RSA говорится, что моя личность - это мое рабочая группа \ имя пользователя, хотя в моем файле web.config нет олицетворения
Я зашифровываю web.config, используя мой компьютер, используя asp_regiis, затем использую Visual Studio для отладки, затем он пришел с этой ошибкой
4 ответа
Для использования RsaProtectedConfigurationProvider вам необходимо запустить командную строку или Visual Studio в качестве администратора.
Для DataProtectionConfigurationProvider не требуется запускаться с правами администратора.
Вы можете создать своего собственного провайдера, используя RsaProtectedConfigurationProvider для шифрования вашего web.xml без прав администратора.
Создайте хранилище ключей:
aspnet_regiis -pc "MyKeyStore" -exp
Предоставить доступ на чтение любому пользователю:
aspnet_regiss -pa "MyKeyStore" "Домен / Пользователь"
Поместите раздел провайдера в ваш web.config
<configProtectedData> <providers> <add name="MyRSAProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0,
 Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a,
 processorArchitecture=MSIL"keyContainerName="MyKeyStore"useMachineContainer="true" /> </providers> </configProtectedData>
Зашифруйте ваши разделы конфигурации:
aspnet_regiis -pef "configSection" "c: \ pathToWebConf" -prov "MyRSAProvider"
Источники:
Это произошло на одном из моих серверов, когда я пытался переместить веб-приложения с диска c на другой диск.
Поскольку я зашифровал раздел web.config на диске C и переместил его на другой диск, он заклинило провайдера, из-за чего он не смог зашифровать раздел, поскольку считает, что он уже существует.
Я все еще пытаюсь это исправить.
aspnet_regiis.exe -pef "connectionStrings" C:\Users\pvdmnu\Projects\MMWebUI\MMPvidon.ASP\StudyASP -prov "DataProtectionConfigurationProvider"
Необходимо указать предоставление, на моем компьютере нет прав администратора.