加密web.config文件中的connectionStrings

时间:2011-02-04 15:10:32

标签: c# .net asp.net encryption

我要加密的web.config文件中的任何部分我运行此命令行util: aspnet_regiis -pe“anySection”-app“/ SampleApplication”

在我尝试加密我的connectionStrings部分

之前,一切正常

我定义(并且我无法更改)我的connectionStrings部分,如下所示:

<connectionStrings>
    <add key="myKey" value="myValue"/>      
</connectionStrings>

但定义它的“标准”方式是这样的:

  <connectionStrings>
    <add name="myName" connectionString="...." providerName="..." />
  </connectionStrings>

我如何跑步:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" 

错误的是“......无法识别的属性'键'....”。如果我将连接字符串部分更改为标准方式,它可以正常工作。但我不能使用这种格式。

有没有办法使用aspnet_regiis util?使用代码不是我的选择。

还有一种方法可以在不指定应用程序(-app“/ SampleApplication”)的情况下运行此直到而不是给出web.config文件的路径吗?

感谢百万

3 个答案:

答案 0 :(得分:2)

connectionStrings元素中的add元素具有定义良好的模式(请参阅http://msdn.microsoft.com/en-us/library/htw9h4z3.aspx),它与appSettings元素中的add元素不同。

如果你想加密appSettings部分,那就是整个 appSettings部分,你可以这样做:

aspnet_regiis -pe "appSettings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

答案 1 :(得分:1)

您好像复制并粘贴了appSetting

<add key="myKey" value="myValue"/>无效,因为keyvalue不是connectionString元素所期望的属性。

您必须使用“标准”

<add name="myName" connectionString="...." />


connectionStrings Element (ASP.NET Settings Schema)

答案 2 :(得分:0)

当我没有以管理员身份运行命令行时,我收到了类似的错误。