Problema durante la crittografia dell'elemento di appartenenza in web.config
-
02-07-2019 - |
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?
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"