Ho questa sezione nel mio web.config:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
IIS7 si arresta in modo anomalo e si lamenta della sezione relativa all'autenticazione:
Modulo AnonymousAuthenticationModule
Notification AuthenticateRequest
Handler StaticFile
Error Code 0x80070021
Errore di configurazione Questa sezione di configurazione non può essere utilizzata in questo percorso. Ciò accade quando la sezione è bloccata a livello padre. Il blocco è di default (overrideModeDefault = "Deny") o impostato esplicitamente da un tag di posizione con overrideMode = "Deny" o l'eredità allowOverride = "false".
Config Source
69: <authentication>
70: <anonymousAuthentication enabled="true" />
Quindi il solito modo per risolverlo è entrare %windir%\system32\inetsrv\config\applicationHost.config
e sbloccare la sezione:
<sectionGroup name="system.webServer">
<sectionGroup name="security">
<section name="access" overrideModeDefault="Deny" />
<section name="applicationDependencies" overrideModeDefault="Deny" />
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<section name="basicAuthentication" overrideModeDefault="Allow" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Allow" />
<section name="digestAuthentication" overrideModeDefault="Allow" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Allow" />
<section name="windowsAuthentication" overrideModeDefault="Allow" />
</sectionGroup>
(in alternativa, appcmd unlock config
).
La cosa strana: l'ho fatto e si lamenta ancora.
Ho cercato Posizioni (MVC è il nome del mio sito Web che è la radice di tutti i siti che sto usando):
<location path="MVC" overrideMode="Allow">
<system.webServer overrideMode="Allow">
<security overrideMode="Allow">
<authentication overrideMode="Allow">
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
Ancora esplode. Sono perplesso sul perché questo accada. Non riesco a rimuoverlo dal web.config, voglio trovare il problema di root.
C'è un modo per ottenere informazioni specifiche da IIS quale regola alla fine mi sta negando?
Modifica: sono stato in grado di risolvere questo problema utilizzando la console di gestione IIS7 andando alla radice (la mia macchina) e facendo clic su "Modifica configurazione" e sbloccando la sezione lì. Mi piacerebbe comunque sapere se esiste un modo migliore poiché non riesco a trovare il file che effettivamente modifica.