Domanda

Sto cercando di crittografare il " system.web.membership " elemento all'interno del Web.Config della nostra applicazione .Net per proteggere nome utente e password in Active Directory. Sto usando il comando aspnet_regiis per crittografare e ho provato diverse stringhe diverse per il valore di " pe " opzione senza successo. Ho crittografato correttamente " connecttrings " elemento sul mio 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>

Quindi cosa dà? Cosa mi sto perdendo?

È stato utile?

Soluzione

La sezione di configurazione è identificata da " system.web / membership " ;, non " appartenenza " né " system.web.membership " ;.

Altri suggerimenti

So che il tuo problema è già stato risolto, ma per altre persone che ricevono questo messaggio di errore, sembra che solo alcune sezioni di web.config possano essere crittografate. Stavo cercando di crittografare le impostazioni SMTP nella mia configurazione web:

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

Funzionava:

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

ma questi non lo hanno fatto:

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

aspnet_regiis.exe -pef "system.net" "path_to_site" -prov "DataProtectionConfigurationProvider"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top