Configuración de aplicaciones ASP.NET en IIS
Paso a paso la configuración de IIS en Windows 2000 para aplicaciones ASP.NET

Fecha: 31/Dic/2004 (29/Dic/2004)
Autor: Serge Valsse (svalsse@hotmail.com)

 


En este artículo se detallan los pasos para configurar una aplicación ASP.NET en IIS. La configuración de ambos debe ser consistente de acuerdo al método de autenticación que queremos implementar. Puedes buscar mayor información en el libro Diseño de Aplicaciones con MS ASP.NET, esto es lo más importante que considero muy útil para evitar problemas a la hora de configurar nuestras aplicaciones Web.

Para empezar recordemos las tres opciones que nos ofrece ASP.NET con respecto al tipo de autenticación de usuario:

  • Autenticación de formularios
  • Autenticación Passport
  • Autenticación Windows

    Autenticación de formularios

    La autenticación de formularios es el tipo de seguridad que se emplea virtualmente en todas las aplicaciones Internet. Cuando se emplea este tipo de autenticación, puedes hacer lo que quieras en términos de determinar quien es y quien no es un usuario autorizado. Además, cuando un usuario llega a una página que precisa autenticación, el usuario se redirige de forma transparente a una página de registro dada. La página de registro se puede emplear con cualquier fuente de información que se desee para autenticar al usuario, por ejemplo una base de datos. Una vez autenticado, el usuario se puede dirigir a la página que solicitó inicialmente o de lo contrario a una página personalizada que le indique amablemente que no tiene acceso a la misma.

    Autenticación Passport

    En este caso es un servidor Passport quien determina quién es un usuario autorizado. El SDK de Passport está disponible para ser descargado de http://msdn.microsoft.com/downloads/.

    Autenticación Windows

    Se basa en las capacidades de autenticación de IIS. Aunque la implementación de la autenticación en IIS no ha cambiado significativamente con las versiones más recientes de IIS, ASP.NET utiliza en realidad esta autenticación de forma ligeramente distinta, lo que ha hecho que se genere algo de confusión. A continuación recorreremos paso a paso la creación de una nueva aplicación Web en IIS para ayudar a aclarar el proceso.

    Creando un nuevo directorio virtual en IIS

    Cuando tienes que crear una nueva aplicación Web en un servidor Web con Windows 2000, lo primero que tienes que hacer es crear una carpeta en la que se localizará la aplicación. Esto suena obvio y sencillo, pero la posición de la carpeta que cree puede tener implicaciones para el fácil mantenimiento posterior de la aplicación. Cuando sea posible, la organización física de tu aplicación debería imitar la organización lógica. Si tienes una aplicación llamada AppHijo que debería heredar la mayoría de su configuración de AppPadre, el crear AppHijo lógicamente bajo AppPadre tiene mucho sentido. Para clarificar la relación, también tiene sentido que la carpeta en la que se ubica AppHijo sea un subdirectorio de la carpeta que alberga a AppPadre. Sin embargo, IIS no requiere esta configuración, es solo por conveniencia, pero resulta útil a la hora de administrar el sitio Web. Para este ejemplo, crearemos una carpeta llamada AppEjemplo en C:\Inetpub\wwwroot. Después de crear la carpeta, abre la consola de Internet Information Services haciendo doble clic en Administrador de servicios de Internet en Herramientas Administrativas. Internet Information Services se muestra en la Figura 1.

    Figura 1. Internet Information Services en Windows 2000.

    Como puedes ver en el panel izquierdo de Internet Information Services, la carpeta que añadimos, AppEjemplo, se muestra como una carpeta normal debajo de sitio Web predeterminado. Encima de AppEjemplo puedes ver carpetas con varios iconos. El icono junto a IISHelp y otras entradas indica que estas carpetas están configuradas como carpetas virtuales.

    Si haces clic con el botón derecho en AppEjemplo y eliges Propiedades del menú de accesos directos, el cuadro de diálogo Propiedades aparecerá, tal y como se muestra en la Figura 2.

    La Figura 2 muestra el cuadro de diálogo Propiedades tal y como aparece para un directorio que no se ha configurado como directorio virtual. Para hacer que esta carpeta sea un directorio virtual para IIS, haz clic en el botón Crear de la pestaña Directorio. La configuración de la pestaña se modificará tal y como se muestra en la Figura 3.

    Figura 2. El cuadro de diálogo Propiedades en Internet Information Services para la carpeta AppEjemplo, que no es un directorio virtual.

    Figura 3. El cuadro de diálogo Propiedades en Internet Information Services para la carpeta AppEjemplo después de haberla convertido en un directorio virtual.

    La pestaña Documentos del cuadro de diálogo se muestra en la Figura 4.

    Figura 4. La pestaña Documentos del cuadro de diálogo Propiedades.

    Si tienes un documento asignado por defecto en la pestaña Documentos y existe alguno de los archivos predeterminados, cuando el usuario va a la carpeta y especifica únicamente el nombre de la carpeta (por ejemplo, http://localhost/AppEjemplo), ese documento se mostrará.

    La pestaña Seguridad de directorios del cuadro de diálogo Propiedades se muestra en la Figura 5.

    Figura 5. La pestaña Seguridad de directorios del cuadro de diálogo Propiedades.

    La sección de Control de autenticación y acceso anónimo de esta pestaña te permite controlar cómo se autentican los usuarios en tu directorio virtual. Si se haces clic en el botón Modificar se muestra el cuadro de diálogo Métodos de autenticación, mostrado en la Figura 6.

    Figura 6. Cuadro de diálogo de Métodos de autenticación.

    Tenemos pocas opciones disponibles pero, básicamente, este cuadro de diálogo te permite hacer un par de cosas: o permitir el acceso anónimo al directorio virtual o exigir que los usuarios sean usuarios de Windows.

    Todas las operaciones de Windows están controladas en realidad por la seguridad, y todas las opciones tienen que llevarse a cabo en el contexto de algún usuario. Así, cuando especificamos que se permiten los usuarios anónimos al marcar la casilla de verificación Acceso anónimo, ¿qué usuario se utiliza? Si hacemos clic en el botón Modificar de la sección de Acceso anónimo del cuadro de diálogo Métodos de autenticación podemos elegir la cuenta bajo la que trabajarán los usuarios. Por defecto, esta cuenta se llama IUSR_. Esta cuenta necesitará tener permisos para las carpetas que contengan documentos a los que accederán los usuarios.

    Si planeas que tu aplicación ASP.NET va a utilizar la autenticación Windows, debes deseleccionar la casilla de verificación Acceso anónimo. Si no lo haces, todos los usuarios tendrán acceso a su aplicación sin necesidad de que suceda ninguna autenticación.

    Un motivo por el que se podría utilizar la autenticación Windows sería para conseguir la identidad de usuario. Cuando la autenticación se configura adecuadamente en IIS (esto es, el acceso anónimo está deshabilitado) y ASP.NET, será capaz de conseguir el nombre del dominio del usuario en Context.User.Identity.Name.

    La sección Acceso autenticado del cuadro de diálogo Métodos de autenticación contiene tres casillas de verificación: Autenticación básica, Autenticación de texto implícita para servidores de dominio Windows y Autenticación de Windows integrada. Si se selecciona Autenticación básica se envía el nombre del usuario y su clave en texto plano desde el cliente al servidor. (Las credenciales están codificadas pero no cifradas).

    La Autenticación implícita para servidores de dominio Windows resuelve muchas debilidades de la Autenticación básica, con un par de restricciones.

    El servidor Windows 2000 tiene que estar en un dominio, y todas las cuentas de usuario tienen que estar configuradas para tener habilitada la opción Guardar claves como texto plano sin cifrar. Estrictamente, no se requiere Internet Explorer 5.0 o posterior, pero el soporte para este tipo de autenticación no es universal.

    Si se selecciona la opción de Autenticación de Windows integrada, anteriormente conocida como NT Lan Manager o NTLM y autenticación Windows NT Challenge/Response, el navegador intenta utilizar las credenciales actuales del registro en el dominio del usuario. Si esto falla, aparece un símbolo del sistema de registro. No es un símbolo del sistema atractivo ni el desarrollador puede controlarlo.

    Recuerda que, en cuanto se deshabilita el Acceso anónimo, cualquiera de estos métodos de acceso autenticado permitirán que tu aplicación determine el nombre del usuario para cualquier página solicitada.

    La sección Restricciones de nombre de dominio y dirección IP de la pestaña Seguridad de directorios del cuadro de diálogo Propiedades contiene un botón Modificar que te permite controlar la dirección IP y las restricciones de nombre de dominio. Estos tipos de restricciones se utilizan raras veces, pero pueden ser eficaces en algunas aplicaciones de intranet por permitir especificar una submáscara de red para controlar las direcciones IP a las que se permite o deniega el acceso a la aplicación. Los botones Certificado de servidor, Ver certificado y Modificar en la sección Comunicaciones seguras de la pestaña Seguridad de directorios se pueden emplear para establecer un certificado seguro que permita comunicación basada en sockets seguros (Secure Socket Layer, SSL). La documentación MSDN (especialmente el kit de recursos IIS) contiene mucha más información sobre estas opciones.

    Las últimas dos pestañas en el cuadro de diálogo Propiedades, Encabezados HTTP y Errores personalizados, son poco interesantes. Como sus nombres sugieren, permiten controlar los encabezados HTTP y los errores personalizados. Si se configura la pestaña Errores personalizados, se pueden configurar páginas de manejo de errores para cualquier error HTTP estándar, tales como un error 400, "recurso no encontrado".

    El botón de configuración de la pestaña Directorio del cuadro de diálogo Propiedades de AppEjemplo (Figura 3) te permiten controlar ciertos aspectos de la aplicación así como resolver problemas con la instalación ASP.NET. Cuando hace clic en Configuración, aparece el cuadro de diálogo Configuración de aplicación, como se muestra en la Figura 7.

    Figura 7. Cuadro de diálogo de Configuración de aplicación.

    Nos hemos desplazado hacia abajo en la lista de correspondencias con aplicaciones de forma que pueda ver las extensiones empleadas por ASP.NET. En este cuadro de diálogo, puede añadir o editar la ruta del ejecutable asociada con cada extensión de archivo.

    Aspectos tales como Asignaciones para la aplicación y verbos podrían parecer algo oscuros, pero el cuadro de diálogo Configuración de aplicación puede ayudarte a seguir el rastro a problemas extraños. En varios casos, la gente que utiliza aplicaciones ASP o ASP.NET han informado que cuando ejecutan una página .asp o .aspx, recuperan en sus navegadores el código fuente en vez de HTML que se dibujará en la página. La raíz de este problema está a menudo en el cuadro de diálogo Configuración de aplicación. Si la correspondencia entre extensiones y rutas a ejecutables falla, bien por alguna mala configuración durante la instalación o por algún problema desconocido, puedes corregir el problema utilizando este cuadro de diálogo.

    Las otras dos pestañas en el cuadro de diálogo Configuración de aplicación, Opciones de aplicación y Depuración de aplicaciones, contienen elementos que utilizan principalmente en aplicaciones ASP.

    Éxitos y si este artículo te sirvió en alguna medida no olvides calificarlo en la caja de PanoramaBox.

    Serge Valsse
    svalsse@hotmail.com


  •  


    ir al índice