Ahora veremos una nueva cuestión relacionada con la autorización.
Hosteando un sitio web VS2010 en IIS 7 me producía el siguiente error:
El error acusa que "falta definir una sección". Pero...dónde? Veamos el esquema general de archivos de configuración en el IIS7.
En la imágen anterior se ve claramente el rol que juegan los diferentes archivos de configuración, por un lado tenemos los del framework (web.config y machine.config) y por otro lado los del server (applicationHost.config). Entre los 3 se "mezclan" o bien dicho de otra forma, se toman las características que herederá nuestra web.config a nivel de aplicación (imágen resultante de la derecha). Los tags del framework estarán dentro de la sección <system.web> mientras que los del server dentro de <system.webServer>. Como siempre recomiendo visitar la web del IIS7.
Bueno, ahora volvamos al error en cuestión.
El mismo nos dice que hay una entrada "faltante" dentro de <system.webServer>, como bien observamos en el esquema se trata de una configuración del servidor. Seguimos estos pasos:
- Abrir el archivo applicationHost.config (%windir%\inetsrv\config).
- Ubicar la entrada en cuestion y la subentrada <sectionGroup name="security">
- Agregamos la siguiente línea:
<section name="authorization" overrideModeDefault="Allow" /> - Y se le indica, tal como vimos en la entrega anterior, el atributo overrideModeDefault en "Allow", para que nuestro Web.Config lo pueda pisar.
- Grabamos el archivo.
- Abrimos el archivo Web.Config de nuestra aplicación y agregamos estas líneas:
<security>
<authorization>
<add users="*" accesType="Allow"/>
</authorization>
</security> - En este caso no restringimos el acceso a algún usuario o rol en particular.
- Corremos la aplicación nuevamente.
Saludos,
Mike