2015-01-16 50 views
0

我想加密common.config,而不是Web.config文件。 Common.config與web.config位於不同的位置。 web.config文件連接到common.config。如何加密.config文件Asp.net

的web.config:

<appSettings file="C:\Users\ja\Documents\common.config"> 
    <add key="webpages:Version" value="3.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
</appSettings> 

common.config:

<appSettings> 
    <add key="myKey" value="This is the Value"/> 
</appSettings>` 

這適用於web.config文件:

aspnet_regiis.exe -pef appSettings c:\Users\ja\Desktop\test\webapp\webapp -prov "RsaRpotectedConfigurationProvider" 

但是,當我試圖加密常用.config文件:

aspnet_regiis.exe -pef appSettings c:\Users\ja\Document\ -prov "RsaRpotectedConfigurationProvider"

我得到這個錯誤:

The configuration for physical path 'c:\Users\ja\Document\' cannot be opened 

回答

0

它看起來並不像你所提供的完整路徑:

C:\用戶\ JA \文檔\

VS

C:\ Users \ ja \ Documents \ common.config

如果synt ax需要目錄,Document仍然缺少's'

+0

不行,它仍然不起作用。 – User765876

+0

它看起來像路徑參數應該指向一個Web應用程序。也許將common.config移動到應用程序的根目錄而不是Documents文件夾? – David

+0

也不起作用。 – User765876

1

我找到了解決此問題的解決方法。希望能幫助到你。

  1. 暫時將您的common.config重命名爲web.config。

  2. 將配置作爲根元素添加到此文件中。所以你的common.config將如下所示。

<configuration> 
    <appSettings> 
    <add key="myKey" value="This is the Value"/> 
    </appSettings> 
</configuration> 
  • 運行加密命令。

    ASPNET_REGIIS.EXE -pef的appSettings C:\用戶\ JA \文獻\ -prov 「RsaProtectedConfigurationProvider」

  • 打開加密文件,並刪除配置標籤。

  • 將文件重命名爲Common.config PS:我刪除了在此主題上發佈的原始評論。

  • +0

    我收到此錯誤:'無法識別的屬性'configProtectionProvider'。請注意,屬性名稱區分大小寫。配置文件是它說'' – User765876

    +0

    加密或加密後? –

    +0

    當我運行出現錯誤的程序時,它會很好地加密。「 – User765876