4

我们正在使用自定义配置部分(通过 NameValueConfigSection)来包含我们的设置。这些设置通过 configSource 从 web.config 外部化。

因此,web.config 中的条目如下所示:

  <configSections>
    <section name="customSettings" type="System.Configuration.NameValueSectionHandler" />
  </configSections>

  <customSettings configSource="config\customSettings.config" />

我们想在我们的生产服务器上加密这个“customSettings.config”文件,所以按照微软的建议运行这个命令(这里:http: //msdn.microsoft.com/en-us/library/zhhddkxy.aspx

aspnet_regiis -pe customSettings -site 4 -app /

这会产生以下输出:

Encrypting configuration section...
Succeeded!

但是,它根本没有成功,使文件保持原样

(顺便说一句,如果加密非自定义部分,例如外部连接字符串部分,此命令确实有效)

我已经能够编写一个可以正常工作的小控制台应用程序,但我们真的想使用标准工具来执行应该是标准操作的操作 - 谁能告诉我这是一个限制还是我哪里出错了?

谢谢 :)

4

1 回答 1

3

我正在将您的代码与进行比较:

要使用机器密钥存储(默认配置)使用 DPAPI 提供程序加密connectionStrings部分,请从命令提示符运行此命令:

aspnet_regiis -pe "connectionStrings" -app "/MachineDPAPI" -prov "DataProtectionConfigurationProvider"

在哪里:

-pe指定要加密的配置部分。

-app指定 Web 应用程序的虚拟路径。如果应用是嵌套的,则指定从根目录开始的嵌套路径,例如“ /test/aspnet/MachineDPAPI

-prov指定提供者名称。

我想知道您是否需要提供应用程序名称?和/或提供者?

他们的版本用引号将属性值括起来。

于 2011-06-06T11:20:03.563 回答