2008-09-25 21 views
4

我想加密我們的.Net應用程序的Web.Config中的「system.web.membership」元素,以保護用戶名和密碼到Active Directory。我正在使用aspnet_regiis命令進行加密,並且嘗試了幾個不同的字符串以查找「pe」選項的值,但沒有成功。我已經成功地在我的web.config上加密了「connectionstrings」元素。加密web.config中的membership元素的問題

Cmd的

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "connectionStrings" -site MySite -app /MyApp 
Encrypting configuration section... 
Succeeded! 

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "membership" -site MySite -app /MyApp 
Encrypting configuration section... 
The configuration section 'membership' was not found. 
Failed! 

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "system.web.membership" -site MySite -app /MyApp 
Encrypting configuration section... 
The configuration section 'system.web.membership' was not found. 
Failed!

的Web.Config

<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> 

那麼是什麼原因?我錯過了什麼?

回答

6

配置部分標識爲「system.web/membership」,而不是「membership」和「system.web.membership」。

4

我知道你的問題已經解決了,但對於其他人得到這個錯誤信息,似乎只有web.config的某些部分可以加密。我想在我的web配置加密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"