iis-7 – IIS se queja de una sección bloqueada: ¿cómo puedo saber dónde está bloqueada?

Pregunta:

Tengo esta sección en mi web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <security>
        <authentication>
            <anonymousAuthentication enabled="true" />
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>
</system.webServer>

IIS7 se bloquea y se queja sobre la sección de autenticación:

Módulo AnonymousAuthenticationModule
Notificación AuthenticateRequest
Controlador StaticFile
Código de error 0x80070021
Error de configuración Esta sección de configuración no se puede utilizar en esta ruta. Esto sucede cuando la sección está bloqueada en un nivel principal. El bloqueo se realiza de forma predeterminada (overrideModeDefault = "Deny") o se establece explícitamente mediante una etiqueta de ubicación con overrideMode = "Deny" o el legado allowOverride = "false".

Config Source  
   69:  <authentication>
   70:    <anonymousAuthentication enabled="true" />

Entonces, la forma habitual de resolver esto es ir a %windir%\system32\inetsrv\config\applicationHost.config y desbloquear la sección:

    <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>

(alternativamente, appcmd unlock config ).

Lo extraño: lo he hecho y todavía se queja.

Busqué ubicaciones (MVC es el nombre de mi sitio web que es la raíz de todos los sitios que estoy 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>

Todavía explota. Estoy desconcertado de por qué sucede esto. No puedo eliminarlo de web.config, quiero encontrar la raíz del problema.

¿Hay alguna forma de obtener información específica de IIS qué regla finalmente me niega?

Editar: pude arreglar esto usando la consola de administración de IIS7 yendo a la raíz misma (mi máquina) y haciendo clic en "Editar configuración" y desbloqueando la sección allí. Aún así, me gustaría saber si hay una mejor manera, ya que no puedo encontrar el archivo que realmente modifica.

Respuesta:

Resolví estos pasos que me solucionan el problema:

  1. Abra el Administrador de IIS
  2. Haga clic en el nombre del servidor en el árbol de la izquierda.
  3. Panel de la derecha, sección Gestión, haga doble clic en Editor de configuración
  4. En la parte superior, elija la sección system.webServer/security/authentication/anonymousAuthentication
  5. Panel de la derecha, haga clic en Desbloquear sección
  6. En la parte superior, elija la sección system.webServer/security/authentication/windowsAuthentication
  7. Panel de la derecha, haga clic en Desbloquear sección

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım