J'ai cette section dans mon web.config:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
IIS7 se bloque et se plaint de la section Autientication:
Module AnonymousAuthenticationModule
Notification
Gestionnaire AuthenticateRequest StaticFile
Error Code 0x80070021
Erreur de configuration Cette section de configuration ne peut pas être utilisée sur ce chemin. Cela se produit lorsque la section est verrouillée au niveau parent. Le verrouillage est soit par défaut (overrideModeDefault = "Deny"), soit défini explicitement par une balise d'emplacement avec overrideMode = "Deny" ou par le legs allowOverride = "false".
Config Source
69: <authentication>
70: <anonymousAuthentication enabled="true" />
Donc, la façon habituelle de résoudre ce problème consiste à %windir%\system32\inetsrv\config\applicationHost.config
ouvrir et à déverrouiller la section:
<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>
(alternativement appcmd unlock config
).
La chose étrange: je l'ai fait et il se plaint toujours.
J'ai cherché des emplacements (MVC est le nom de mon site Web qui est la racine de tous les sites que j'utilise):
<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>
Ça explose quand même. Je suis perplexe quant à pourquoi cela se produit. Je ne peux pas le supprimer du web.config, je veux trouver le problème racine.
Existe-t-il un moyen d'obtenir des informations spécifiques d'IIS dont la règle me refuse finalement?
Éditer: J'ai pu résoudre ce problème à l'aide de la console de gestion IIS7 en allant à la racine même (ma machine), en cliquant sur "Modifier la configuration" et en déverrouillant la section correspondante. J'aimerais quand même savoir s'il existe un meilleur moyen, car je ne trouve pas le fichier qu'il modifie réellement.