Errore con ASPNET RoleProvider
-
08-07-2019 - |
Domanda
Ho appena installato un'applicazione su un server win2003 e visualizzo questo errore:
Line 149: <roleManager>
Line 150: <providers>
Line 151: <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 152: <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 153: </providers>
Source File: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config Line: 151
Sto usando un RoleProvider ed è correttamente configurato in web.config (funziona su altri server) come segue:
<membership defaultProvider="AdminMembershipProvider">
<providers>
<clear/>
<add name="AdminMembershipProvider" connectionStringName="SiteSqlServer" type="MyApp.Providers.AdminMembershipProvider" applicationName="MyApp" writeExceptionsToEventLog="false" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" PasswordFormat="Clear" MinRequiredNonAlphanumericCharacters="1" MinRequiredPasswordLength="8" MaxInvalidPasswordAttempts="5" PasswordAttemptWindow="10">
</add>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AdminRoleProvider" cacheRolesInCookie="true">
<providers>
<add name="AdminRoleProvider" type="MyApp.Providers.AdminRoleProvider" writeExceptionsToEventLog="true"/>
</providers>
</roleManager>
Qualche suggerimento sul perché stia cercando la configurazione su machine.config invece di web.config? Come posso eseguire il debug di questo?
Grazie.
Soluzione
In effetti legge prima machine.config, poi il tuo web.config che sostituisce machine.config. Ma in alcuni casi i valori in web.config vengono aggiunti o inclusi in un elenco in modo che possa essere un po 'difficile da seguire.
Ma sfogliare machine.config su un server funzionante potrebbe far luce su di te.
Altri suggerimenti
Machine.Config contiene le impostazioni relative all'intero computer. Alcuni elementi di Machine.Config ti consentono di sovrascriverli. Se un elemento ha un attributo allowOverride = " true "
, può essere sostituito da web.config. Tuttavia, se funziona su altre macchine, osserverei le differenze nei file machine.config.
Tieni presente che di solito non è una buona idea modificare il file machine.config esp. se prevedi di eseguire la distribuzione su più macchine.