5

我正在尝试加密 .Net 应用程序的 Web.Config 中的“system.web.membership”元素,以保护 Active Directory 的用户名和密码。我正在使用 aspnet_regiis 命令进行加密,并尝试了几种不同的字符串作为“pe”选项的值,但均未成功。我已成功加密 web.config 上的“connectstrings”元素。

命令

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "connectionStrings" -site MySite -app /MyApp
加密配置部分...
成功了!

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "membership" -site MySite -app /MyApp
加密配置部分...
未找到配置部分“成员资格”。
失败的!

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "system.web.membership" -site MySite -app /MyApp
加密配置部分...
未找到配置部分“system.web.membership”。
失败的!

网络配置

<configuration>
    ...
    <system.web>
        ...
        <authentication mode="Forms">
            <forms name=".ADAuthCookie" 
                   timeout="30"/>
        </authentication>
        <authorization>
            <deny users="?"/>
            <allow users="*"/>
        </authorization>
        <membership defaultProvider="MyADMembershipProvider">
            <providers>
                <add name="MyADMembershipProvider"
                     type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
                     connectionStringName="ADConnectionString" 
                     connectionUsername="MyUserName" 
                     connectionPassword="MyPassowrd"/>
            </providers>
        </membership>
        ...
    </system.web>
    ...
</configuration>

那么给了什么?我错过了什么?

4

2 回答 2

8

配置部分由“ system.web/membership”标识,而不是“ membership”或“ system.web.membership”。

于 2008-09-25T17:33:18.250 回答
4

我知道您的问题已经解决,但是对于收到此错误消息的其他人来说,似乎只有 web.config 的某些部分可以加密。我试图在我的网络配置中加密 SMTP 设置:

<?xml version="1.0"?>
<configuration>
  <system.net>
    <mailSettings>
      <smtp>
        <network host="myhost" port="25" userName="myusername" password="mypassword" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

这有效:

aspnet_regiis.exe -pef "system.net/mailSettings/smtp" "path_to_site" -prov "DataProtectionConfigurationProvider"

但这些没有:

aspnet_regiis.exe -pef "system.net/mailSettings" "path_to_site" -prov "DataProtectionConfigurationProvider"

aspnet_regiis.exe -pef "system.net" "path_to_site" -prov "DataProtectionConfigurationProvider"
于 2009-03-12T14:01:22.347 回答