如何为Web.config添加密码并对其进行加密

时间:2015-06-22 15:27:46

标签: asp.net

我一直在谷歌,MSDN和Stack Overflow,但我找不到关于如何做到这一点的完整教程。

我想为我的Web.config文件添加一个ASP.NET Web应用程序的密码,我想加密它。我该怎么做?

1 个答案:

答案 0 :(得分:5)

如何添加Web.config部分并对其进行加密。

您想要添加一个部分,因为aspnet_regiis会一次加密部分,并且您可能有不想加密的配置设置。

  1. 不要在项目中使用App.config。我无法让它发挥作用。您将收到以下错误消息:The configuration section 'secureAppSettings' was not found。在主Web项目中使用Web.config。
  2. 在Web.config中创建一个如下所示的部分:
  3. 的Web.config

    <configSections>
      <section name="secureAppSettings" type="System.Configuration.NameValueSectionHandler" />
    </configSections>
    
    1. 设置新部分
    2. 的Web.config

      <secureAppSettings>
        <add key="Password" value="1234567890"/>
      </secureAppSettings>
      
      1. 您可以创建一个Section组。但它是可选的。
      2. 部分类型很重要。 AppSettingsSection对我不起作用,但NameValueSectionHandler没有。
      3. 以下是从该部分获取设置的代码:
      4. C#代码

        string p = ((NameValueCollection)WebConfigurationManager.GetSection("secureAppSettings"))
                   ["Password"];
        
        1. 要加密,请运行开始&gt;节目&gt; Visual Studio&gt; Visual Studio工具&gt;开发人员命令提示Administrator
        2. 请注意,以下命令具有区分大小写的字符串,您可能需要用引号将项目路径括起来。 Web.config应该位于给定文件夹的内部,因此请不要在命令中包含Web.config。
        3. aspnet_regiis -pef "secureAppSettings" "C:\folder\with\the_config_file"
        4. 您会注意到Web.config文件中的部分现已加密!
        5. 如果使用类型为System.Configuration.AppSettingsSection的Web.config部分,则可能会遇到此错误。 Could not load type 'System.Configuration.AppSettingsSection' from assembly 'System.Web' 我无法让AppSettingsSection工作。