Проблема с шифрованием элемента членства в web.config - PullRequest
5 голосов
/ 25 сентября 2008

Я пытаюсь зашифровать элемент «system.web.membership» в Web.Config нашего приложения .Net для защиты имени пользователя и пароля в Active Directory. Я использую команду aspnet_regiis для шифрования и пробовал несколько разных строк для значения параметра «pe», но безуспешно. Я успешно зашифровал элемент «connectstrings» в моем файле web.config.

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>

Так что же дает? Чего мне не хватает?

Ответы [ 2 ]

8 голосов
/ 25 сентября 2008

Раздел конфигурации обозначается как "system.web/membership", а не "membership" и "system.web.membership".

4 голосов
/ 12 марта 2009

Я знаю, что ваша проблема уже решена, но для других людей, получающих это сообщение об ошибке, кажется, что только некоторые разделы файла 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"
...