无法使用提供程序'RsaProtectedCo加密“connectionStrings”部分 nfigurationProvider”。来自提供程序的错误消息:对象已存在。
我按照http://msdn.microsoft.com/en-us/library/2w117ede.aspx中的指南进行操作,但是在步骤3中,为了授予对RSA密钥容器的ASP.NET身份访问权限,它说我的身份是我的工作组\用户名,我没有假冒web.config文件虽然
我正在使用我的机器使用asp_regiis加密web.config,然后使用visual studio进行调试然后它出现了这个错误
答案 0 :(得分:53)
要使用 RsaProtectedConfigurationProvider ,您需要以管理员身份启动命令提示符或Visual Studio 。
对于 DataProtectionConfigurationProvider ,不需要在管理员权限下运行。
答案 1 :(得分:1)
您可以使用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&#34; configSection&#34; &#34; C:\ pathToWebConf&#34; -prov&#34; MyRSAProvider&#34;
来源:
答案 2 :(得分:0)
这发生在我的其中一台服务器上,试图将Web应用程序从c驱动器移动到另一驱动器。
因为我已经加密了驱动器C上的web.config部分并将其移动到另一个驱动器,它阻塞了提供程序,导致它无法加密该部分,因为它认为该部分已经存在。
我仍在尝试修复它。